2

过去,使用 REBOL/Command 可以正常工作。现在,我正在尝试我编译load/library的一个,并且不再有任何改进。Rebol 3 中的等价物是什么?我必须做一个吗?.dll/libraryload'extensionimport

4

2 回答 2

4

是的,Rebol 3 当前不包含类似 Rebol 2 的 DLL 接口,该接口受到限制并且没有提供许多有用的选项来包装库,例如回调也非常有限。Rebol 3 通过引入扩展机制解决了这种情况,其中涉及一点 C 代码。

还有一些倡议以 Rebol 3 扩展的形式引入改进的类似 Rebol 2 的 DLL 接口,但该项目还没有成功,尽管在 ReCode 会议之后,有人声称它会来。

您还可以使用 Red/System:它是一种类似 Rebol 的语言,但非常接近 C 级别,因此很容易包装。Kaj De Vos 创建了一些示例,展示了如何将Rebol 3 扩展编写为 Red/System DLL

于 2013-07-20T04:28:17.193 回答
2

既然已经回答了这个问题,一些版本的 Rebol3 例如。Atronix,编译了外部函数库,以便您可以

make library! %some.dll

有关Windows 的示例,请参见https://github.com/zsx/r3/blob/atronix/make/tests/ms-drives.r ,以及https://github.com/zsx/c2r3/blob/master/demos /gtk-demos/gtk-demo.reb以获得全面的 linux 示例。

于 2015-08-21T21:40:54.703 回答