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