在 linux(dll 的)上将 J 的接口用于 C 共享库
Using J's interface to C shared libraries on linux (dll's)
我想使用 Linux 上共享库中的一些函数。
我找不到任何最新的文档。阅读 this 后,我尝试了以下
load 'dll'
'/lib64/libc.so putchar i i' cd <65
|domain error: cd
| '/lib64/libc.so putchar i i' cd<65
'/lib64/libc.so atoi i *c' cd <'22'
|domain error: cd
| '/lib64/libc.so atoi i *c' cd<'22'
哪里错了?
似乎 J 不遵循符号 links,以下工作正常:
'/lib64/libc-2.20.so putchar c i' cd <65
A┌─┬──┐
│A│65│
└─┴──┘
其中 /lib64/libc-2.20.so
是 libc.so.6
link 指向的库。
PS。感谢@Danylo Dubinin 的 cder''
和 cderx''
提示! :)
更新: 很尴尬:/lib64/libc.so
不是共享库,它是 "GNU ld script" 但 /lib64/libc.so.6
是 link 到 J 正确遵循的共享库,所以我只是指定了错误的路径...嗯
我想使用 Linux 上共享库中的一些函数。 我找不到任何最新的文档。阅读 this 后,我尝试了以下
load 'dll'
'/lib64/libc.so putchar i i' cd <65
|domain error: cd
| '/lib64/libc.so putchar i i' cd<65
'/lib64/libc.so atoi i *c' cd <'22'
|domain error: cd
| '/lib64/libc.so atoi i *c' cd<'22'
哪里错了?
似乎 J 不遵循符号 links,以下工作正常:
'/lib64/libc-2.20.so putchar c i' cd <65
A┌─┬──┐
│A│65│
└─┴──┘
其中 /lib64/libc-2.20.so
是 libc.so.6
link 指向的库。
PS。感谢@Danylo Dubinin 的 cder''
和 cderx''
提示! :)
更新: 很尴尬:/lib64/libc.so
不是共享库,它是 "GNU ld script" 但 /lib64/libc.so.6
是 link 到 J 正确遵循的共享库,所以我只是指定了错误的路径...嗯