广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++与Lua实现交互的原理是什么
  • 501
分享到

C++与Lua实现交互的原理是什么

2023-06-06 14:06:58 501人浏览 薄情痞子
摘要

本篇文章给大家分享的是有关c++与lua实现交互的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体步骤:1,找到cocos自带的绑定工具脚本文件genbinding

本篇文章给大家分享的是有关c++lua实现交互的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

具体步骤:

1,找到cocos自带的绑定工具脚本文件genbindings.py,在cocos工程的frameworks/cocos2d-x/tools/tolua这个目录下,把这个文件打开。

2,在打开的genbindings.py文件下面找到这么一段代码:


C++与Lua实现交互的原理是什么

这里就是运行这个脚本会自动生成lua绑定代码的所有对象和这些对象所在的目录与绑定代码生成的目的路径,#是注释,通过它指定只生成修改过的模块的绑定代码。

3,运行genbindings.py,打开命令行工具,cd到这个目录,再在当前目录运行这个脚本。(1,cd + tolua目录路径 2,./genbindings.py)

4,xcode重新编译下c++代码,绑定成功。

自定义类绑定到Lua

1,写好自定义类,我们一般把这个类放在Classes目录,我自己项目的目录如下:


C++与Lua实现交互的原理是什么

2,写好这个类的.ini配置文件,copy其它的.ini配置,只需要改下类名空间,路径等,多个类写一个配置里信息用空格隔开。具体示意图如下:
我的配置文件:


C++与Lua实现交互的原理是什么

配置文件主要修改地方:


C++与Lua实现交互的原理是什么

3,运行genbindings.py脚本,就会在指定目录自动生成自定义类绑定到lua的代码。

C++与Lua实现交互的原理是什么

4,最后是把生成的绑定代码注册到lua环境栈,如图所示:


C++与Lua实现交互的原理是什么

cocos AppDelegate.cpp里的这个代码完成的创建lua环境栈和注册:


C++与Lua实现交互的原理是什么

注意事项

1,自己新增的自定义类,打包到andriod上时,需要修改安卓的打包配置,把新增的文件添加进去(不光针对这里,所有打安卓包,新增的东西都是要加入到这个配置中才会拷贝)。示意图如下:


C++与Lua实现交互的原理是什么
C++与Lua实现交互的原理是什么

2,Mac终端中执行genbindings.py这个脚本,如果报“ImportError: No module named yaml”这个错误,解决方式是:在终端中逐个输入:以下3句命令,mac会自动帮我们下载安装这3个东东,安装完毕就可以了。
在终端分别逐行输入以下内容:

sudo easy_install pipsudo pip install PyYAMLsudo pip install Cheetah

以上就是C++与Lua实现交互的原理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网其他教程频道。

--结束END--

本文标题: C++与Lua实现交互的原理是什么

本文链接: https://www.lsjlt.com/news/247532.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++与Lua实现交互的原理是什么
    本篇文章给大家分享的是有关C++与Lua实现交互的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体步骤:1,找到cocos自带的绑定工具脚本文件genbinding...
    99+
    2023-06-06
  • 怎么实现C#与Lua相互调用
    这篇文章主要介绍“怎么实现C#与Lua相互调用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么实现C#与Lua相互调用”文章能帮助大家解决问题。一、编译Lua动态链接库1. 编译Windows下使...
    99+
    2023-06-30
  • 原生实现C#与Lua相互调用方法(Unity3D可用)
    目录引言一、编译Lua动态链接库1. 编译Windows下使用的DLL文件2. 编译Android下使用的SO文件二、编写C#使用的API1. 动态链接库在Unity中的存放位置。2...
    99+
    2022-11-13
  • pyqt5与html数据交互的原理是什么
    本文小编为大家详细介绍“pyqt5与html数据交互的原理是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“pyqt5与html数据交互的原理是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2022-10-19
  • C++实现与Lua相互调用的示例详解
    目录概述示例C++调用lua编译lua流程运行lua调用C++解释运行调用语义概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的...
    99+
    2023-05-13
    C++ Lua相互调用 C++ Lua 调用 C++ Lua
  • QML与C++交互的实现步骤
    目录前言第一个例子:QML中创建C++对象第二个例子:C++中加载QML对象参考前言 文档如是说,QML旨在通过C ++代码轻松扩展。Qt QML模块中的类使QML对象能够从C ++...
    99+
    2022-11-13
  • C++中线程的原理与实现方法是什么
    这篇文章主要介绍“C++中线程的原理与实现方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中线程的原理与实现方法是什么”文章能帮助大家解决问题。在C++中有多种实现线程的方式C++11...
    99+
    2023-07-05
  • Linux互斥锁的实现原理是什么
    本篇内容主要讲解“Linux互斥锁的实现原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux互斥锁的实现原理是什么”吧!互斥锁(Mutex)是在原子操作API的基础上实现的信号量行...
    99+
    2023-06-28
  • C++继承的实现原理是什么
    C++继承的实现原理是通过派生类继承基类的成员和方法。当一个派生类继承一个基类时,派生类会拥有基类的所有成员变量和成员函数。在内存中...
    99+
    2023-10-26
    C++
  • C#怎么实现允许服务与桌面交互
    本篇内容介绍了“C#怎么实现允许服务与桌面交互”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!onstart的时候修改注册表[HKEY_LOC...
    99+
    2023-06-17
  • C++ std::initializer_list实现原理是什么
    这篇文章主要讲解了“C++ std::initializer_list实现原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++ std::initializer...
    99+
    2023-06-29
  • C# 中get与post的原理是什么
    这期内容当中小编将会给大家带来有关C# 中get与post的原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C# get post中post和get的不同之处get与post的区别在于:(对于CG...
    99+
    2023-06-17
  • java中的异步交互与同步交互的区别是什么
    同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程。异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。免费视频教程推荐:java免费视频教程两者区别:一个需要等待,一个不需要等待,...
    99+
    2022-04-30
    java入门 java 异步交互 同步交互 区别
  • android与js交互的方法是什么
    Android与JS交互的方法有多种,以下是其中一些常用的方法:1. 使用WebView:Android中的WebView组件可以加...
    99+
    2023-09-21
    android js
  • python与mongodb交互的方法是什么
    Python与MongoDB交互的方法有多种,以下是常用的几种方法:1. 使用pymongo库:pymongo是Python中常用的...
    99+
    2023-09-06
    python mongodb
  • C++中的Reactor原理与实现
    目录一、Reactor介绍二、代码实现一、Reactor介绍 reactor设计模式是event-driven architecture的一种实现方式,处理多个客户端并发的向服务端请...
    99+
    2022-11-13
  • Redis事务模式和Lua脚本的原理是什么
    这篇文章主要介绍了Redis事务模式和Lua脚本的原理是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis事务模式和Lua脚本的原理是什么文章都会有所收获,下面我们一...
    99+
    2023-04-19
    redis lua
  • C#显式实现接口原理是什么
    这篇文章主要介绍“C#显式实现接口原理是什么”,在日常操作中,相信很多人在C#显式实现接口原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#显式实现接口原理是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • SQLite原子提交的原理是什么
    这篇文章给大家介绍SQLite原子提交的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.0 简介“原子提交”是SQLite这种支持事务的数据库的一个重要特性。原子提交意味着...
    99+
    2022-10-18
  • Python与数据库的交互怎么实现
    本篇内容介绍了“Python与数据库的交互怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MongoDB安装模块pip install...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作