Lua与C/C++交互——Lua调用C/C++
0.简介
Lua(念“鲁啊”)作为一门发展成熟的脚本语言,正在变得越来越流行。它也可以作为和C/C++执行脚本交互的语言。并且Lua的整个库很小,我安装了最新的正式版Lua 5.1版本,而整个静态链接的lua.dll才164KB,所以Lua很轻量,特别适合轻量级脚本嵌入。
看文章名就知道,我们要讲Lua和C/C++的交互,这期讲Lua如何使用C/C++的东西——Lua通过C/C++导出的dll来调用。OK,Let’s Go!首先,你得去Lua官网 http://www.lua.org 获取最新版本的Lua。
1.准备工作
安装完Lua,需要在Visual Studio中配置Lua路径,使得你的编译器能搜寻到。关于VS2010的配置,见我的博文《VS2010 C++目录配置》一文。完成后新建一个Dll工程便可以了。
0.简介
Lua(念“鲁啊”)作为一门发展成熟的脚本语言,正在变得越来越流行。它也可以作为和C/C++执行脚本交互的语言。并且Lua的整个库很小,我安装了最新的正式版Lua 5.1版本,而整个静态链接的lua.dll才164KB,所以Lua很轻量,特别适合轻量级脚本嵌入。
看文章名就知道,我们要讲Lua和C/C++的交互,这期讲Lua如何使用C/C++的东西——Lua通过C/C++导出的dll来调用。OK,Let’s Go!首先,你得去Lua官网 http://www.lua.org 获取最新版本的Lua。
1.准备工作
安装完Lua,需要在Visual Studio中配置Lua路径,使得你的编译器能搜寻到。关于VS2010的配置,见我的博文《VS2010 C++目录配置》一文。完成后新建一个Dll工程便可以了。
我们用一个在Lua中显示Windows对话框的程序来简要介绍一下,程序虽小,但五脏俱全。程序如下:
//
// 将一些有用的Win32特性导出.
// 以便在Lua中使用.
//
extern "C"
{
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#pragma comment(lib, "lua.lib")
};
#include <Windows.h>
#include <iostream>
using namespace std;
static const char* const ERROR_ARGUMENT_
Lua调用C/C++实战:显示Windows对话框

本文通过一个在Lua中显示Windows对话框的实例,讲解了Lua如何调用C/C++代码。介绍了luaL_register的使用,Dll的加载方式,以及Lua通过堆栈与C/C++进行数据交互的原理。
最低0.47元/天 解锁文章
2044

被折叠的 条评论
为什么被折叠?



