在win32(XP、Vista等)上将Lua绑定到Ada?
2010-10-21 23:14:54
收藏:0
阅读:150
评论:2
我找到了唯一一个将Lua绑定到Ada的公共库(http://coreland.ath.cx/code/lua-ada),但在Windows平台上如何使用它? 我需要在我的ada项目中使用什么才能使project-files中定义的lua.ads.adb库正常工作?
我尝试将lua源文件放在我的ada项目目录中进行编译,但这没有任何作用 - GNAT会引发类似于“undefined reference to <c ++ function>”的错误。
原文链接 https://stackoverflow.com/questions/3992374
点赞
stackoverflow用户483603
只有通过反复测试,我才发现如何安全地绑定 Lua。
首先是将 lua-ext.c 从 Ada-Lua 包中解压缩并将所有 Lua-源代码移到主 Ada 项目目录下。然后将 lua.c 重命名为 lual.c(或者其他同等的名称),以消除相同目标文件名('lua.ads->lua.o | lua.c->lua.o')的错误。最后一步是打开 GNAT 中的 C 编译器。可以通过“Project - Edit project properties - Languages”来完成。
这就是我让我的 lua 文件在 Ada 程序中工作所做的全部事情。
P.S. 要在 Ada 程序中打开所有可用的 Lua 库,应该调用这两个过程:
Lua.Lib.Open_Base(Lua.State_t); -- this will append to _G all main functions
Lua.Lib.Open_Libs(Lua.State_t); -- this will append math, string, package, etc. libraries
2010-10-22 13:29:19
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
Windows 似乎不在 Lua-Ada 支持的平台列表 中。不过,这些绑定应该可以在其他 Gnat 平台上移植。你需要获取 Windows Lua 库(最有可能是一个 DLL),然后将两者以某种方式连接起来。
这是可行的——我曾经用 Clips 做过类似的事情。然而,任何想要做这件事情的人都需要对 C/C++ 链接器、Mingwin 对 Windows 库(通常通过 DLL)的支持,以及 Ada 如何与 C 链接工作有相当熟悉的了解。