本文最后更新于 2125 天前,其中的信息可能已经有所发展或是发生改变。
下载core
打开http://www.openluat.com/Product/gprs/Air202.html–> 资料下载 –> 下载源码
把压缩包里的文件解压到一个位置
添加模块
假设新增的模块叫test
,调用test.get(a)
返回a+1
后的值
在core\cust_src\elua\modules\src
新建一个文件test.c
:
放入如下示例代码:
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
static int test_get( lua_State *L )
{
int number = luaL_checkinteger( L, 1 );
lua_pushinteger( L, number + 1);
return 1;
}
// Module function map
#include "lrodefs.h"
const LUA_REG_TYPE test_map[] =
{
{ LSTRKEY( "get" ), LFUNCVAL( test_get ) },
{ LNILKEY, LNILVAL }
};
LUALIB_API int luaopen_test( lua_State *L )
{
luaL_register( L, AUXLIB_TEST, test_map );
return 1;
}
接着,打开文件core\cust_src\elua\modules\include\auxmods.h
在合适位置加上:
#define AUXLIB_TEST "test"
LUALIB_API int ( luaopen_test )( lua_State *L );
打开core\cust_src\elua\platform\coolsand\include\platform_conf.h
在合适位置加上_ROM( AUXLIB_TEST, luaopen_test, test_map ) \
编译
下载csdtk4,解压到c盘根目录:
https://1dv.papapoi.com/%E8%BD%AF%E4%BB%B6/csdk%E7%9B%B8%E5%85%B3/CSDTK4.7z
运行core\project\你需要的lua运行版本\build\ cust_build.bat
编译即可
运行core\project\你需要的lua运行版本\build\ cust_clean.bat
可完全重新编译
Lod文件可在core\hex\你需要的lua运行版本\
目录找到
写的很好,很喜欢