【发布时间】:2014-01-29 16:33:21
【问题描述】:
问题。使用外部库时,Rebol2 中的pointer! 是否与 Red/System 中的相同?
如果 c 声明是:
void f (int* i);
如何定义routine!?
f: make routine! [
"Does Something"
int [pointer! [integer!]]
return: [char!]
] lib "f"
我看到http://rebol.com/docs/library.html#section-25
"传递指针的外部库函数,一般期望 指针是 char 或 void 数据类型。目前,REBOL 例程 不支持 void 数据类型。在大多数情况下,您可以安全通过 char 而不是 void。对于返回值,请使用 long 而不是 void。”
但是,只是有点困惑。为f 定义例程的正确方法是什么?
【问题讨论】: