我希望将我用 golang 编写的应用程序的一部分转换为 dll/dylib/so,并从我的核心 golang 应用程序调用它。
有没有人知道关于如何执行此操作的任何好的资源或指南,因为我的搜索没有提供大量信息(我发现的大部分内容都是对我理解的功能的旧请求,现在包括在内)
请注意:我看过有关如何进行实际构建的文档,更多的是关于如何组织应用程序和公开我缺少的方法
如果有人有做类似事情的经验,我也会对这种方法的优缺点感兴趣
最佳答案
c-shared
buildmode目前仅在 Linux 上受支持。
如此处所示,Building a dll with Go 1.7 ,您可以使用 gcc 构建 DLL 或共享库,但 Go 工具链不直接支持它。
但是,如果您希望创建一个“插件”架构,您不想创建一个 C 共享库,其中每个实例都会创建一个新的 Go 运行时。已经有一个plugin
package这是为了那个目的。
关于go - 寻找有关如何在 golang 中创建 dll/so/dylib 的基本示例/资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45107175/