介绍
这个库是GitHub上的goloader库的全部依赖合并版,goloader是Go语言动态加载静态库的一个第三方实现.
软件架构
库使用的第三方包均在vender/src目录下.
安装教程
- 设置目录下isntall文件 makePATH 变量为isntall文件所在目录.
- 运行install文件即可将src目录下的测试代码全部编译到bin目录下
编译注意
编译需要使用指令: go build -gcflags "-N -l" -o 生成文件 源码文件 如果不添加 -gcflags "-N -l" 选项的话会导致无法获得自身导入表,导致插件依赖加载失败.
使用说明
- 如果是要使用包需要注意,编译好的静态库有依赖性,而且无法直接传递结构体,需要一个公用的接口来进行互相转换,测试代码就是动态加载包并调用包内结构体的测试代码.
- 测试目录(src/Load)为主函数,会加载目录下port.a(公用接口/依赖)与modules.a(功能实现)两个包,对应源码分别是同级目录port与与modules