热门文章 Lua调用C/C++函数

时间:2015-9-19   作者:沁雨寒   分类: lua脚本语言折腾   热度:2401° 评论:0  
时间:2015-9-19   分类: lua脚本语言折腾    热度:2401   评论:0
前言当我们需要在Lua里面调用C/C++函数时,所有的函数都必须满足以下函数签名:typedef int (lua_CFunction) (lua_State L);换句话说,所有的函数必须接收一个lua_State作为参数,同时返回一个整数值。因为这个函数使用Lua栈作为参数,所以它可以从栈里面读取任意数量和任意类型的参数。而这个函数的返回值则表示函数返回时有多少返回值被压入Lua栈。(因为Lua的函数是可以返回多个值的)示例一定义C++函数指针int average(lua_State *L){ // get number of arguments int ...

阅读全文>>

热门文章 C/C++调用Lua的Table

时间:2015-9-19   作者:沁雨寒   分类: lua脚本语言折腾   热度:2468° 评论:0  
时间:2015-9-19   分类: lua脚本语言折腾    热度:2468   评论:0
理解Lua栈Lua通过一个“虚拟栈”与C/C++程序进行数据交互,所有的Lua C API都是通过操作这个栈来完成相应的数据通信。Lua的这个“虚拟栈”解决了C/C++程序与Lua程序通信的两大问题:Lua使用垃圾回收,而C/C++需要手动管理内存。Lua使用动态类型,而C/C++使用的是静态类型。因为这个栈在Lua虚拟机内部,当一个Lua的变量放在栈里面的时候,虚拟机可以知道它有没有被宿主程序所使用,从而决定是否采用GC。另外Lua采用结构体封装了类似“Lua_Value”的类型,让它可以存储任何C的类型。从而在数据交换的时候,任何类型都可以被放入栈的一个slot中。由于栈是FI...

阅读全文>>

热门文章 C++和Lua相互传递数据

时间:2015-9-19   作者:沁雨寒   分类:   热度:2095° 评论:0  
时间:2015-9-19   分类:    热度:2095   评论:0
加载并运行Lua脚本由于在上一个教程里面已经介绍过如何在C/C++里面嵌入Lua,所以这一节就简单的介绍一下程序怎么用,配置就略过啦。创建Lua虚拟机lua_State *lua_state = luaL_newstate();加载Lua库static const luaL_Reg lualibs[] = { {"base", luaopen_base}, {"io", luaopen_io}, {NULL, NULL} }; const luaL_Reg *lib = lualibs; for(; li...

阅读全文>>

热门文章 C++嵌入Lua脚本

时间:2015-9-19   作者:沁雨寒   分类: lua脚本语言折腾   热度:2119° 评论:0  
时间:2015-9-19   分类: lua脚本语言折腾    热度:2119   评论:0
Mac项目集成Lua准备工作首先,新建一个控制台应用程序。 打开Xcode,New->Project->OSX->Command Line Tool,取名为Lesson01接下来,我们需要下载lua5.2.3.,下载完后,解压缩,然后cd到刚刚解压缩的路径下面,输入make macosx,这样便可以生成Mac下面的lib文件。接下来把刚刚解压缩的文件夹拷贝到你新建的工程下面,然后设置include路径和library路径。(注意,这里是不需要把头文件添加到Xcode里面的,只要指定include路径,编译的时候,编译器会自动去找的。)因为我的Lua文件夹的路径是:xxxx/Lesso...

阅读全文>>

热门文章 Lua简明教程

时间:2015-9-19   作者:沁雨寒   分类: lua脚本语言折腾   热度:2272° 评论:0  
时间:2015-9-19   分类: lua脚本语言折腾    热度:2272   评论:0
运行首先,我们需要知道,Lua是类C的,所以,他是大小写字符敏感的。下面是Lua的Hello World。注意:Lua脚本的语句的分号是可选的,这个和GO语言很类似。     print( "Hello World" )   你可以像python一样,在命令行上运行lua命令后进入lua的shell中执行语句。           ...

阅读全文>>

热门文章 Lua 5.3 参考手册

时间:2015-9-17   作者:沁雨寒   分类: lua脚本语言折腾   热度:2106° 评论:0  
时间:2015-9-17   分类: lua脚本语言折腾    热度:2106   评论:0
Lua 5.3 参考手册作者 Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes译者 云风Lua.org, PUC-Rio 版权所有 © 2015 , 在遵循 Lua license 条款下,可自由使用。目录 · 索引 · 中英术语对照表1 – 简介Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 同时...

阅读全文>>

热门文章 macosx lua sublime 环境搭建

时间:2015-9-15   作者:沁雨寒   分类: lua脚本语言折腾   热度:2484° 评论:0  
时间:2015-9-15   分类: lua脚本语言折腾    热度:2484   评论:0
1.安装Lua编译器 下载Lua, http://www.lua.org/;解压后,cd进入该文件夹src目录下,修改Makefile里macosx后一行为 macosx: $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX -arch i386" MYLIBS="-arch i386 -lreadline" 保存退出。在当前文件夹执行make macosx   然后回车cd 到上一目录,执行sudo make install完成之后执行lua -v 可以看到:Lua 5.1.4 Copyright (C) 1994-2008 Lua...

阅读全文>>

热门文章 git svn (在svn系统里使用git管理项目)

时间:2015-9-10   作者:沁雨寒   分类: linux 折腾笔记   热度:2861° 评论:0  
时间:2015-9-10   分类: linux 折腾笔记    热度:2861   评论:0
注意:由于svn和git 原本就是不同的工具  所以用git管理svn上的代码时最好是保证代码的线性(svn线性 git非线性)。当然如果你是独立维护那么随便你,反正在本地的git 任何提交更改都能查询,而svn上覆盖了同一版本老代码就丢失了(git会保存几个月内所有修改代码 并且建立自己本地分支在分支上开发 稳定之后合并到主干上  非常方便 既不用频繁改动备份(svn有时候为了保证版本号更替问题常常一天内的代码更新某个bug修复都是提交同一个版本号  然后。。。。。。)   切换分之也非常方便 随便你折腾)或者查询两个版本修改内容就需要去di...

阅读全文>>

热门文章 macosx Homebrew 的安装方法 patch 设置

时间:2015-9-10   作者:沁雨寒   分类: sdk for ios   热度:2409° 评论:0  
时间:2015-9-10   分类: sdk for ios    热度:2409   评论:0
官网:http://brew.sh/index_zh-cn.html  安装方式见 官网,在shell里执行如下语句,如下: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 命令详解:  先用 shell命令curl,将文件下载本地,文件名为 install,文件地址:https://raw.githubusercontent.com/Homebrew/install/master/in...

阅读全文>>

热门文章 VPS上基于Debian搭建和配置ocserv(兼容Cisco AnyConnect客户端)

时间:2015-9-2   作者:沁雨寒   分类: linux 折腾笔记   热度:9147° 评论:0  
时间:2015-9-2   分类: linux 折腾笔记    热度:9147   评论:0
OpenConnect server (ocserv) 是一个开源的 SSL VPN服务器,使用 GnuTLS作为 SSL library,但 Debian 7 stable 里的 GnuTLS版本太旧,需要先升级至 2.15以上的版本。如果在用的 VPS操作系统是 Debian 6,需要先把 Xen VPS从Debian 6 (Squeeze)升级到Debian 7 (Wheezy),然后用 WinSCP登录 VPS修改一下 /etc/apt/sources.list 文件里的源,添加如下一行deb http://ftp.debian.org...

阅读全文>>

返回顶部    首页    手气不错   捐赠支持    沁雨导航   交流论坛   折腾笔记   贴吧云签到   沁雨工具箱   沁雨超级外链   本站介绍   浙公网安备 33010802003501号   
版权所有:unix 软硬件 技术宅    站长:沁雨寒   网站地图   Sitemap   浙ICP备15024976号  
              
360安全认证腾讯云安全认证SSL安全认证凭安信用创于云安全认证迈克菲安全认证百度云安全认证norton安全认证站长之家权重