go - 寻找有关如何在 golang 中创建 dll/so/dylib 的基本示例/资源

标签 go shared-libraries

我希望将我用 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/

相关文章:

c++ - 将 .so 合并到另一个 .so 中而不依赖?

android - 将更新的共享 native 库(.so 文件)添加到 Android Studio 应用程序会导致 UnsatisfiedLinkError

go - 在golang中将时间戳转换为ISO格式

Golang 如何将 sizeof struct 提取为 int

c++ - 添加私有(private)成员变量如何破坏 C++ ABI 兼容性?

linux - 如何使用 GCC/LD 设置 RPATH 和 RUNPATH?

delphi - 编写要从 gcc 应用程序调用的 Delphi/FreePascal DLL

unit-testing - 包中的模拟方法

Go 解析模板 glob

rest - 如何设置OAuth1.0a的授权 header