goloader

介绍

这个库是GitHub上的goloader库的全部依赖合并版,goloader是Go语言动态加载静态库的一个第三方实现.

软件架构

库使用的第三方包均在vender/src目录下.

安装教程

  1. 设置目录下isntall文件 makePATH 变量为isntall文件所在目录.
  2. 运行install文件即可将src目录下的测试代码全部编译到bin目录下

编译注意

编译需要使用指令: go build -gcflags "-N -l" -o 生成文件 源码文件
如果不添加 -gcflags "-N -l" 选项的话会导致无法获得自身导入表,导致插件依赖加载失败.

使用说明

  1. 如果是要使用包需要注意,编译好的静态库有依赖性,而且无法直接传递结构体,需要一个公用的接口来进行互相转换,测试代码就是动态加载包并调用包内结构体的测试代码.
  2. 测试目录(src/Load)为主函数,会加载目录下port.a(公用接口/依赖)与modules.a(功能实现)两个包,对应源码分别是同级目录port与与modules