过去,使用REBOL / Command,这很好用。现在,我正在尝试load/library
我编译的.dll
,并且/library
不再对load
进行细化。 Rebol 3中的等价物是什么?我必须制作'extension
和import
吗?
答案 0 :(得分:4)
是的,Rebol 3目前不包含类似Rebol 2的DLL接口,该接口有限,并且没有提供许多有用的选项来包装库,例如回调也非常有限。 Rebol 3通过引入扩展机制解决了这种情况,该机制涉及一些C代码。
还有一些倡议以Rebol 3扩展的形式引入改进的Rebol 2类DLL接口,但该项目还没有成功,尽管在ReCode会议之后,有人声称,它会来。< / p>
你还可以使用Red / System:它是一种类似Rebol的语言,但非常接近C级,所以很容易包装。 Kaj De Vos创建了一些示例,展示了如何write an Rebol 3 extension as Red/System DLL。
答案 1 :(得分:2)
由于回答了这个问题,因此Rebol3的某些版本如此。 Atronix,编译了外部函数库,以便您可以
make library! %some.dll
有关Windows的示例,请参阅https://github.com/zsx/r3/blob/atronix/make/tests/ms-drives.r,有关全面的Linux示例,请参阅https://github.com/zsx/c2r3/blob/master/demos/gtk-demos/gtk-demo.reb。