我能用本地代码扩展Corona吗?

8

我有一些用Objective-C编写的函数模块,我能够通过C++来封装Objective-C,然后使用tolua++将C/C++代码与Lua集成,最后在Corona中使用Lua代码吗?我能这样做吗?看起来好像不可能...

2个回答

2

目前Corona还不允许使用本地代码进行扩展。但是在他们的路线图中,这一功能将会在未来几个月内实现。


将近三年过去了,我在想这个是否已经被实现了? - SullX

1
你可以创建一个共享库,然后将其引入到你的代码中。
例如,创建mylibrary.so
然后在lua中使用。
require("mylibrary")

lua会在LUA_PATH中查找它。

在corona中,有一些我不确定的事情 - 它是否会加载共享库并且您可以使用toLUa ++。 在普通的lua中,它会正常工作。 您可能会在将共享库绑定到Cocoa中遇到问题 - 不确定,这不是我尝试过的东西。 我已经在Windows上构建了一个.dll,并且它可以正常工作 - 再次不在corona中。

这里是如何构建共享库的方法

看起来像是corona能够实现 - 在这里看看

这可能是停止iOS上共享库的地方

希望这可以帮助。


1
但是关键问题在于CORONA。-_-! - timestee
没错,就我所知,Corona其实是带有一些库的Lua。问题在于,在iOS上你无法使用共享库,除非有人想出了一个办法。你可以构建自己的Corona shell并静态链接你的库,但这会很困难 :-( - daven11
1
@daven11: Lua 并不包含所有部分。。我相信 require 在“构建”时会被预处理(使用 Corona 时,您必须将代码提交到他们的服务器以获取可用的应用程序)。 - Mud

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接