不向 dll 或 iso 文件添加扩展名是一种不好的做法吗?



我正在使用go插件包,按照指南,他们说我应该使用buildmode=plugin创建一个iso文件,输出应该具有扩展名so。这是经验法则吗?我应该总是添加扩展吗?还是品味问题?

谢谢!

通常,插件(有时称为共享/动态库(具有取决于它们运行的平台的扩展。

对于Windows,该扩展名往往是.dll(对于"动态链接库"(。但是,在撰写本文时,Go 不支持 Windows 插件。

对于 Linux/BSD 系统,该扩展往往是.so的(对于"共享对象"(,这是 Go 文档建议您使用的。

按照plugin包的文档,它看起来像这样(在 Linux 上(:

// after go build -buildmode=plugin -o plugin_name.so
p, err := plugin.Open("plugin_name.so")
if err != nil {
panic(err)
}
v, err := p.Lookup("V")
if err != nil {
panic(err)
}
f, err := p.Lookup("F")
if err != nil {
panic(err)
}
*v.(*int) = 7
f.(func())() // prints "Hello, number 7"

简而言之:使用.so

相关内容

最新更新