lua(注册c库)
#include <iostream> #include <string.h> extern "C" { #include "lua-5.2.2/src/lua.h" #include "lua-5.2.2/src/lauxlib.h" #include "lua-5.2.2/src/lualib.h" } //定义库函数 static int l_dir(lua_State* L) { } static const struct luaL_Reg mylib[] = { {"dir", l_dir},// 字符串和函数指针 { nullptr , nullptr//用null表示结束 } }; /** *@brief 声明主函数 *@param "mylib" 库的名字 *@param 0 无需注册公共的upvalue */ int luaopen_mylib(lua_State* L) { /*luaL_openlib 函数接受一个 C 函数的列表和 他们对应的函数名,并且作为一个库在一个 table 中注册所有这些函数*/ /* 应该是这样的他建一个table然后注册函数到这个表中,然后等函数返回时将这个表放入栈中 */ luaL_openlib(L, "mylib", mylib, 0); return 1; } int main() { getchar(); return 0; }