go - 为什么 go 插件地址不使用 go 二进制加载
问题描述
我使用https://github.com/vladimirvivien/go-plugin-example创建了一个插件
go build -buildmode=plugin -o eng/eng.so eng/greeter.go
使用命令创建了一个 go 二进制文件:
go build -linkshared test.go
使用测试二进制文件加载插件:
export LD_PRELOAD=./eng.so; ./test
插件地址将加载到firstmoduledata
go 运行时的结构中。
使用命令创建了另一个 go 二进制文件:
go build test.go
使用测试二进制加载插件:
export LD_PRELOAD=./eng.so; ./test
插件地址不会加载到firstmoduledata
. 这是因为addmoduledata()
没有调用。
是否可以为这种情况加载插件地址?
解决方案
推荐阅读
- angular - 为什么原始形式总是在角度有效
- c++ - 概念评估能否取决于评估的位置?
- drupal - Drupal 8.6 无法主题化视图
- sql - 选择查询 0=0 Vs 不存在
- html - 如何在 HTML 中使用 HTML 实体代码而不是字符
- kubernetes - 将 aksapp.io 分配给有效的 DNS 名称
- ruby-on-rails - Rails 5.2.1 的 RailsApps mysql2 gem 版本错误
- qnamaker - 未生成 Azure QnaMaker 聊天日志
- python - ReLU 可以代替神经网络中的 Sigmoid 激活函数吗
- sql - SQL - SAP HANA - 列表中的 REPLACE_REGEXPR