代码之家  ›  专栏  ›  技术社区  ›  Marko

动态FFI-in-Go

  •  9
  • Marko  · 技术社区  · 14 年前

    有可能 加载外部C库(dll)并在Go中调用其函数?

    cgo 它用于静态绑定到C函数,但我对动态方式感兴趣。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Tom    14 年前

    简言之:没有(至少在gc中没有,但是gccgo是gcc可链接的,所以这是可能的)

    长答案:可以使用go toolchains C编译器和汇编程序在C和ASM中编写go包(例如,请参见src/pkg/runtime)。所以你可以用C或ASM作为go包写一个FFI。

    编辑:来自下面的评论(现在也是CW)

    syscall unsafe

    http://code.google.com/p/go/wiki/CallingWindowsDLLs