您如何将指针传递到外部库

  • 本文关键字:外部 指针 dll rebol rebol2
  • 更新时间 :
  • 英文 :


问题。使用外部库时,Rebol2中是否有相同的pointer!

如果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 datatypes。目前,Rebol例程 请勿支持void数据类型。在大多数情况下,您可以安全地通过 char而不是无效。对于返回值,请使用长而不是void。"

但是,有点困惑。定义f的例程的正确方法是什么?

作为链接状态

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

几年前为我工作

相关内容

  • 没有找到相关文章

最新更新