lua 笔记

1. LuaSocket library, developed by Diego Nehab
2. linux 查看 *.a *.so 符号表

objdump -tT libName.so | grep symbel symbolName
nm -D libName.so | grep symbel symbolName


lua调用C动态库:

#include <lua.h>
#include <string.h>
#include <lauxlib.h>
#include <lualib.h>
#include <stdlib.h>
#include <stdio.h>

int GetFeature(lua_State *L)
{
// string img =
size_t l;
const char * img = luaL_checklstring(L, 1, &l);
//printf("%zu", l);
const char *feature = "feature1";
lua_pushstring(L, feature);
return 1;
}


static luaL_Reg luascrlibs[] = {
{"GetFeature", GetFeature},
{NULL, NULL}
};


int luaopen_luascrlib(lua_State* L)
{
const char * libName = "luascrlib";
luaL_register(L, libName, luascrlibs);
return 1;
}



编译:
gcc -shared -fPIC luascrlib.c -o luascrlib.so -I /usr/local/luajit/include/luajit-2.0/


拷贝动态库:
sudo cp /home/kevin/lua_files/luascrlib.so /usr/local/lib/lua/5.1/

lua代码执行:

>require "luascrlib"
>print(luascrlib.GetFeature("Hello Wold"))
>feature1




lua unicode支持:
[url]http://stackoverflow.com/questions/2497800/does-lua-support-unicode[/url]
download slnunicode and build ([url]http://luaforge.net/projects/sln/[/url])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值