c - 如何在静态链接的C程序中嵌入luasql.sqlite3?

标签 c sqlite lua luasql

luasql.sqlite3模块已成功编译到我的C程序中,并静态链接。但是,该模块似乎尚未注册。在 Lua 脚本中调用 require 'luasql.sqlite3' 总是失败。

其他一些模块调用luaL_register来注册自己。但是luaL_registerluaopen_luasql_sqlite3中没有被调用。在这种情况下我该如何注册luasql.sqlite3

我使用Lua-5.1.5。

The source code of luaopen_luasql_sqlite3 is at the bottom

最佳答案

这里是将luaopen_函数放入package.preload表中的方法。

lua_getfield(L, LUA_GLOBALSINDEX, "package");
lua_getfield(L, -1, "preload");
lua_pushcfunction(L, luaopen_socket_core);
lua_setfield(L, -2, "socket.core");

关于c - 如何在静态链接的C程序中嵌入luasql.sqlite3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236032/

相关文章:

c - write系统调用直接把数据写到磁盘?

c - 如何将字符串存储到结构体中声明的字符指针中

C:接收信号时段错误

ios - 推送通知的后台处理

SQLite:防止重复

c++ - 如何在C应用程序中使用C++ DLL?

android - 使用 greenDao 动态查询

lua - 如何映射多个配置文件

lua - 如何在 Lua 中将字符串的开头或结尾与 string.match 匹配?

lua - 为什么程序文件中的应用程序不能在 lua 中使用 os.execute 运行?