2
我可以在Go中使用共享对象吗?我可以在Go中使用共享对象吗?
我可以在Go中使用共享对象吗?我可以在Go中使用共享对象吗?
据转到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
我看到他用“dll”标记了他的问题,但共享对象不是Windows专有的,对吗? – 2010-02-12 20:29:58
同意,但最初的问题是关于DLL的。刚刚更新了我的答案... – 2010-02-12 20:31:11
首先我写了“dll”然后更正为“共享对象” – SomeUser 2010-02-12 21:02:11