我想将raylib与Terra / Lua(更好的元编程)一起使用,但官方示例仅显示如何与C标准库接口,我认为Terra已经与之相关联。
但是raylib有一个标题(raylib.h
,我知道如何将它包含在terra中)和一个so
/ dll
文件(库的实际代码)。
如何将我的Terra cide链接到raylib?
P.S。我有兴趣主要写Terra并在Lua中做宏,这是Terra网站上列出的第三个用例:
独立的低级语言。 Terra的设计是为了它可以 独立于Lua。事实上,如果你的最终节目没有 需要Lua,您可以将Terra代码保存为.o文件或可执行文件。在 除了确保高层和低层之间的清洁分离 代码,这个设计让你可以使用Terra作为独立的低级别 语言。在这个用例中,Lua是一个强大的元编程 语言。在这里它可以替代C ++模板 元编程或C预处理器X-Macros具有更好的语法和 更好的属性,如卫生。由于Terra仅作为代码存在 嵌入在Lua元程序中,通常内置的功能 低级语言可以实现为Lua库。这个设计 保持Terra的核心简单,同时实现强大的行为 作为条件编译,命名空间,模板,甚至是类 作为图书馆实施的系统。
答案 0 :(得分:0)
没关系,我想我找到了我需要的东西。
terralib.linklibrary(filename)
将动态库加载到文件中 文件名。如果使用includec导入的头文件包含声明 其定义未链接到Terra所在的可执行文件中 运行,然后有必要动态加载定义 linklibrary。使用外部库时会出现这种情况 terra REPL / driver应用程序。
来源:Terra docs