LUA的基础讲解
来源:互联网 发布:销售软件增值税税率 编辑:程序博客网 时间:2024/05/21 18:46
刚刚新学习了LUA的基础知识,特将基本的概念记录下来。
LUA的作用:LUA是一种非常轻量级的脚本语言,他的解释器只有200k左右,而且他是一种叫做嵌入式脚本语言,也就是说他是需要嵌入到宿主语言上运行的,而且可以跟宿主语言进行互通。这样提供了一种非常流行的开发模式,就是lua作为业务逻辑层,而c、c++等宿主语言则作为开发的底层API使用。此外,因为lua的灵活性,lua再某些场合,被开发出来,进行替代xml,或者ini等配置文件。
LUA的源代码下载路径:http://www.lua.org/ftp/ , 这里边包含了lua的各种版本。此外,LUA的开发使用的是存c语言的方式,因此他具有很好的跨平台特性,特可以运行在windows,linux,unix,mac,ios,android等等各种平台的系统。
lua的编译方法:
lua源代码当中,提供了两个工具,lua.exe和luac.exe 他们的区别如下:
lua.exe,被称为解释器,也就是说,他可以启动一个控制台程序,然后直接输入lua的语法,进行解释执行,也可以直接运行lua为扩展名的脚本文件。
luac.exe,被称为编译器,他的目的是将符合lua语法的lua文件,编译为二进制文件。然后再lua.exe当中可以直接运行。编译器的目的来源于,lua脚本文件是明文的,另外在动态解释时,也会耗费更多时间。因此为了方便,可以直接使用使用luac.exe编译的二进制文件作为解释器的输入文件,起到保护密码和加速运行的目的。
LUA的具体编译方法:
第1步:
从官方主页www.lua.org下载Lua源代码,最新版本为5.1.2。
解压之后找到“src”文件夹,这里面就是Lua了,不过还不能直接使用。
第2步:
使用任意ANSI C编译器,在这里使用VS2005编译LUA。具体步骤如下:
1、新建一个空的Console工程,在这里该工程名暂为“lua”
2、将src中的文件全部拷贝到该项目文件夹下
3、根据生成的文件来添加需要编译的文件
4、使用Release配置来进行编译
以下是各类生成文件的详细说明:
静态库文件lua.lib
1、添加除了“lua.c”与“luac.c”以外的全部文件到工程
2、更改[项目属性]->[配置属性]->[常规]->[项目类型]为“静态库文件(.lib)”
解释器lua.exe
1、添加除了“luac.c”以外的全部文件到工程
2、更改Release状态下[项目属性]->[配置属性]->[常规]->[项目类型]为“应用程序(.exe)”
编译器luac.exe
3.1、添加除了“lua.c”以外的全部文件到工程
3.2、更改Release状态下[项目属性]->[配置属性]->[常规]->[项目类型]为“应用程序(.exe)”
注意:该文件生成时的名字为lua.exe,因为该项目名称为“lua”。如果之前生成过解释器lua.exe,则应该将解释器移走之后再生成。
LUA与C、C++的互调方法
1 c程序中调用lua脚本: 直接调用法
- 编写lua脚本
- 编写C函数,然后使用lua提供的api函数直接调用lua脚本,完成lua的运行。
- 编写lua文件,并编写符合lua语法的函数
- 编写c文件,并编写堆栈调用关系的c函数,这个c函数要求与lua提供的模板函数对应。
- 在c主函数当中,调用c编写的符合lua提供的模板函数的对应c函数。
- 上述过程是必须的。
- LUA的基础讲解
- lua的metatable讲解
- 在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- 【Cocos2dX(2.x)_Lua开发之三】在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- ★重要必看篇★在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- Lua的基础知识点
- 【LuaWithC++】Lua的基础
- 【Cocos2dX(2.x)_Lua开发之三】★重要必看篇★在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- 【Cocos2dX(2.x)_Lua开发之三】★重要必看篇★在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- 【Cocos2dX(2.x)_Lua开发之三】★重要必看篇★在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- 【Cocos2dX(2.x)_Lua开发之三】★重要必看篇★在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- 【Cocos2dX(2.x)_Lua开发之三】★重要必看篇★在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解
- 数论基础的补充讲解
- python3的scrapy基础讲解
- HTML5的基础讲解2.2
- Lua的协程和协程库讲解
- Lua基础 初识Lua
- 笔记: Lua基础: Table, Array, Namespace, Lua的面向对象
- 烟台大学CSDN高校俱乐部招收新生力量啦!
- 河南网通在线算号器
- linux中grep的笔记
- 一个程序员的奋斗路程
- bash学习资料
- LUA的基础讲解
- Linux C编程--进程介绍2--exec函数
- VS2008+Opencv2.3.1 创建Win32 Console Application显示一张图片
- c 和 指针 第七章
- Ubuntu下c++编程
- iOS比 Android App泄露更多隐私【转载内容】
- Application Domain
- pat 1025 PAT Ranking
- 11级_Java_曹建波 03.02 Struts2_事物管理&文件上传