2010-02-12 123 views

回答

5

据转到FAQ,您可以使用“外国功能接口”调用到C库:

干什么去了程序与C/C++程序的链接?

有两个Go编译器实现,6g和朋友,通常称为gc和gccgo。 Gc使用不同的调用约定和链接器,因此只能使用相同的约定与C程序链接。有这样一个C编译器,但没有C++编译器。 Gccgo是一个GCC前端,可以小心使用GCC编译的C或C++程序。但是,因为Go是垃圾收集的,所以这样做是不明智的,至少天真。

有一个“外部函数接口”允许从Go代码安全地调用C编写的库。我们希望使用SWIG将此功能扩展到C++库。没有安全的方式可以从C或C++中调用Go代码。

回答你之前关于Windows DLL的问题:不,因为目前没有Go的Windows实现。欲了解更多信息,请阅读can-go-compiler-be-installed-on-windows

+0

我看到他用“dll”标记了他的问题,但共享对象不是Windows专有的,对吗? – 2010-02-12 20:29:58

+0

同意,但最初的问题是关于DLL的。刚刚更新了我的答案... – 2010-02-12 20:31:11

+0

首先我写了“dll”然后更正为“共享对象” – SomeUser 2010-02-12 21:02:11

相关问题