当前位置: 首页 > news >正文

滨州 网站开发/不错宁波seo公司

滨州 网站开发,不错宁波seo公司,seo的研究对象,做装修公司网站1.简介Lua与C/C结合是很紧密的, Lua与C交互是建立在Lua与C的基础上的, 所 以偶先从Lua与C讲起.正如第一讲所说, 运行Lua程序或者说调用Lua主要有两种方式: * 通过命令行执行"Lua"命令 * 通过Lua的C库 虽然此前偶们一直用第一种方式, 但偶要告诉你, 通过Lua的C库执行才…
1.简介

Lua与C/C++结合是很紧密的, Lua与C++交互是建立在Lua与C的基础上的, 所
以偶先从Lua与C讲起.

正如第一讲所说, 运行Lua程序或者说调用Lua主要有两种方式:
* 通过命令行执行"Lua"命令
* 通过Lua的C库
虽然此前偶们一直用第一种方式, 但偶要告诉你, 通过Lua的C库执行才是游戏中
常用的方式.

2.Lua的C库

Lua的C库可以做为Shared Library调用, 但一般开发游戏时会把Lua的所有源程序
都包含在内, 并不把Lua编译成共享库的形式. 因为Lua程序只有100多K, 而且几乎
可以在任何编译器下Clean Compile. 带Lua源程序的另一个好处时, 可以随时对Lua
本身进行扩充, 增加偶们所需的功能.

Lua的C库提供一系列API:
* 管理全局变量
* 管理tables
* 调用函数
* 定义新函数, 这也可以完全由C实现
* 垃圾收集器Garbage collector, 虽然Lua可以自动进行, 但往往不是立即执行的,
所以对实时性要求比较高的程序, 会自己调用垃圾收集器
* 载入并执行Lua程序, 这也可以由Lua自身实现
* 任何Lua可以实现的功能, 都可以通过Lua的C API实现, 这对于优化程序的运行速度
有帮助. 经常调用的共用的Lua程序片断可以转成C程序, 以提高效率. 连Lua都是C写的
还有什么C不能实现呢?

3.Lua与C集成的例子
例e10.c
/* A simple Lua interpreter. */
#include <stdio.h>
#include <lua.h>
int main(int argc, char *argv[]) {  
char line[BUFSIZ];  
lua_State *L = lua_open(0);  
while (fgets(line, sizeof(line), stdin) != 0)      
lua_dostring(L, line);  
lua_close(L);  
return 0;
}

编译
Linux/Cygwin
* 先编译Lua, 并把头文件放入include路径
* gcc e10.c -llua -llualib -o e10

VC6/VC2003
* 先编译Lua, 在Option中设置头文件和库文件路径
* 新建工程,在工程配置中加入附加库lua.lib和lualib.lib
* 编译成exe

运行结果
本程序的功能是实现一个Lua解释器, 输入的每行字符都会被解释成Lua并执行.

程序说明
* #include <lua.h> 包含lua头文件, 然后才可以使用API
* lua_State *L = lua_open(0) 打开一个Lua执行器
* fgets(line, sizeof(line), stdin) 从标准输入里读入一行
* lua_dostring(L, line) 执行此行
* lua_close(L) 关闭Lua执行器


例e11.c
/* Another simple Lua interpreter. */
#include <stdio.h>
#include <lua.h>
#include <lualib.h>
int main(int argc, char *argv[]) {  
char line[BUFSIZ];  
lua_State *L = lua_open(0);  
lua_baselibopen(L);  
lua_iolibopen(L);  
lua_strlibopen(L);  
lua_mathlibopen(L);  
while (fgets(line, sizeof(line), stdin) != 0)      
lua_dostring(L, line);  
lua_close(L);  
return 0;
}

运行结果
本程序的功能是实现一个Lua解释器, 输入的每行字符都会被解释成Lua并执行.
与上例不同的是, 本例调用了Lua的一些标准库.

程序说明
* #include <lualib.h> 包含Lua的标准库
* 以下这几行是用来读入Lua的一些库, 这样偶们的Lua程序就可以有更多的功能.
lua_baselibopen(L);  
lua_iolibopen(L);  
lua_strlibopen(L);  
lua_mathlibopen(L);

4.试试看
把上面两个小例子在你熟悉的编译器中编译执行, 并试试能否与Lua源码树一起编译
http://www.lbrq.cn/news/1574479.html

相关文章:

  • dede企业网站源码/百度站长提交
  • 百度给做网站收费多少/引流推广效果好的app
  • 站群系列服务器做视频网站/怎样做网络销售平台
  • springboot社交网站开发/上海seo推广外包
  • 政府网站建设及建议/电商运营助理
  • 盐城网站开发代理商/深圳网站快速排名优化
  • 建筑网站招聘/淘宝如何提升关键词排名
  • 个人如何接外包项目/seo站内优化教程
  • 这个网站中有网名做会计的吗 了解一下/中国国家培训网官网
  • lnmp一键包wordpress/seo优化上首页
  • 江苏兴力建设集团有限公司网站/百度 官网
  • 公司网站 用 个人备案域名/软文发布推广平台
  • 怎么样自己建设网站/网站推广的途径有哪些
  • 怀化网站建设/百度数据分析工具
  • 制作网站的软件/娄底seo
  • 58.搜房等网站怎么做效果才好/搜索引擎优化的核心是
  • 包包网站建设/手机在线制作网站
  • 佛山微网站建设 天博/广告投放方案
  • 济阳建设局网站/广东seo推广哪里好
  • 网站怎么做微信支付功能/seo服务顾问
  • 0基础 网站建设/合肥seo排名优化公司
  • 莱州市规划建设管理局网站/策划营销
  • 外贸订单网站有哪些/百度ai开放平台
  • 糗百网站开发/腾讯与中国联通
  • 陕西网站备案 多久/最近新闻事件
  • wordpress 大不开/seo值怎么提高
  • 网站死链/如何做网络销售平台
  • 微信公众号可以做几个微网站吗/上海做网站优化
  • 一起做网店官网/seo优化的内容有哪些
  • 做网站都需要什么人团/seo计费怎么刷关键词的
  • [量化交易](1获取加密货币的交易数据)
  • 第十二节:粒子系统:海量点渲染
  • 北京JAVA基础面试30天打卡09
  • Nginx 高级配置
  • 【科研绘图系列】R语言绘制特定区域颜色标记散点图
  • TF-IDF:信息检索与文本挖掘的统计权重基石