在Air2xx/8xx系列的core中添加自己的lua模块
本文最后更新于 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运行版本\目录找到

测试

评论

  1. 文娱帝国
    6 年前
    2019-3-30 14:10:39
    Firefox 61.0 Firefox 61.0 Windows 7 x64 Edition Windows 7 x64 Edition

    写的很好,很喜欢

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇