Lua编译器及Lua与C相互调用

Lua编译器及Lua与C相互调用2015-03-17何鹏    Lua是一门小巧强大的编程语言,很多开发工具都对Lua源码进行了封装,本文用VS2012编译了Lua源码,并详细讲述了Lua和C的互相调用。本文使用的是Lua5.1一、Lua编译成解释器1.官网上下载源码:http://www.lua.org/2.用VS2012新建一个解
摘要由CSDN通过智能技术生成

Lua编译器及LuaC相互调用

2015-03-17何鹏

 

   Lua是一门小巧强大的编程语言,很多开发工具都对Lua源码进行了封装,本文用VS2012编译了Lua源码,并详细讲述了LuaC的互相调用。本文使用的是Lua5.1

一、Lua编译成解释器

1.官网上下载源码:http://www.lua.org/

2.VS2012新建一个解决方案,在解决方案里新建一个项目LuaTest

3.在项目目录LuaTest文件夹下新建一个目录Lua,Lua源码src文件夹下的文件都复制到LuaTest/Lua目录

4.右键点击vs2012中的LuaTest项目,--添加--新建筛选器--命名为Lua,右击该筛选器,添加--现有项--LuaTest/Lua文件夹全选导入

5.右击LuaTest项目,点击生成,即在Debug目录下生成了Lua编译器LuaTest.exe

 

运行该编译器,在窗口输入print(loadlib()):

 

该编译器不支持动态连接库,将项目中的luaconf.h中的

#undef LUA_COMPAT_LOADLIB

改为

#define LUA_COMPAT_LOADLIB

重新生成,即可支持动态链接库

二,将Lua编译成静态库使用

将上面项目第四步完成后:

将源码中lua.c文件中main()函数改名(Lua5.3中还需将luac.c中的main()函数改名),这两个文件的main函数主要是生成解释器程序

右击项目--属性--配置属性--常规下的配置类型设为.lib

完成后右击项目--重新生成则生成了LuaTest.lib静态库

 

三、将Lua编译成动态库使用

四、C中调用Lua(可以使用Lua静态库,也可以使用Lua源码一同编译)

1.新建一个项目LuaLua,同上,在第四步时只导入头文件,不导入.c文件

2.在项目中新建一个文件,LuaLua.cpp输入:

/

extern"C"

{

#include"Lua/lua.h"

#include"Lua/lauxlib.h"

#include"Lua/lualib.h"

#include<stdio.h>

}

#pragma comment(lib,"LuaTest.lib")

void load (

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值