【发布时间】:2015-10-18 11:50:08
【问题描述】:
我正在尝试使用 Squeak Foreign Function Interface。 我能找到的所有信息似乎都不适用于新的 Squeak 5.0,因为当我尝试例如:
add: a to: b
" ( int ) add (int a, int b) ; "
< cdecl: int 'add' ( int a, int b ) module: 'mydll'>
^ self externalCallFailed
源自this page的:
apiInvalRect: aRect
" ( void ) InvalRect (const Rect ☆ badRect ) ; "
< cdecl: void 'InvalRect' ( MacRect ) module: 'InterfaceLib'>
^ self externalCallFailed.
然后我得到一个错误,它期望在 < 之后出现 >。
(我在 Windows 上使用 Squeak 5.0,其资源目录中有 SqueakFFIPrims.bundle。)
【问题讨论】:
-
镜像中默认没有安装FFI,你有没有尝试安装?
-
@aka.nice 不是吗?我只看到我的图像在其目录中有一个 SqueakFFIPrims.bundle 并且我访问的所有网站都没有任何必须安装的信息(以及如何安装?),也没有在 squeakMap 中。如果您告诉我们如何安装它,我会非常高兴,我希望这也能解决语法错误(我猜插件也改变了解析规则?)
-
我通常使用来自 source.squeak.org/FFI.html 的 Monticello 加载最新的 FFI 包,即 'FFI-Kernel-dtl.28.mcz' 'FFI-Tests-EstebanLorenzano.8.mcz' 'FFI-Examples -ar.1.mcz'。一定有一些安装程序脚本做同样的工作,但我不记得在哪里找到它,也许问谷歌......
-
谢谢,我会试试 - 几分钟后报告
-
我现在正在尝试解决一些依赖项...
标签: smalltalk ffi pharo squeak