Dll 如何将指针传递到外部库?

Dll 如何将指针传递到外部库?,dll,rebol,rebol2,Dll,Rebol,Rebol2,问题。使用外部库时,是否存在相同的指针在Rebol2中是否有红色/系统 如果c声明是: void f (int* i); 我将如何定义例程 f: make routine! [ "Does Something" int [pointer! [integer!]] return: [char!] ] lib "f" 我明白了 作为传递指针的外部库函数,通常 指针是char或void数据类型。目前,REBOL例程 不支持void数据类型。在大多数情况下,您可以安全通过 c

问题。使用外部库时,是否存在相同的
指针在Rebol2中是否有红色/系统

如果c声明是:

void f (int* i);
我将如何定义
例程

f: make routine! [
    "Does Something"
    int [pointer! [integer!]]
    return: [char!]
] lib "f"
我明白了

作为传递指针的外部库函数,通常 指针是char或void数据类型。目前,REBOL例程 不支持void数据类型。在大多数情况下,您可以安全通过 char而不是void。对于返回值,请使用long而不是void。“

然而,只是有点困惑。将
f
的例程定义为链接状态的正确方法是什么

f: make routine! [
  "Does Something"
  pInt [char*]
  return: [long]
] lib "f"  

几年前为我工作

我最终需要使用
int
而不是
char*
来让我的库正常工作。