【问题标题】:How to do load/library如何进行加载/库
【发布时间】:2013-07-20 04:05:20
【问题描述】:

过去,使用 REBOL/Command 可以正常工作。现在,我正在尝试将我编译的load/library .dllload/library 细化不再存在。 Rebol 3 中的等价物是什么?我必须制作'extensionimport 吗?

【问题讨论】:

    标签: dll rebol rebol3


    【解决方案1】:

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

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

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

    【讨论】:

    • 有没有关于使用 Red/System DLL Extensions 的好的指南/教程?这些例子本身并不像他们想象的那么清楚......
    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多