【文件属性】:
文件名称:universal:通用共享库用户空间加载器
文件大小:85KB
文件格式:ZIP
更新时间:2021-05-06 05:42:56
Go
通用装载机
该加载器提供了一个统一的Go接口,用于从Windows,OSX和Linux上的内存加载共享库。
还包括一个跨平台的Call()实现,使您可以轻松地从那些库中调用导出的符号。
基本用法
libraryPath设置为lib.so为Linux, lib.dyld的OSX,或lib.DLL for Windows,然后:
image, err = ioutil.ReadFile(libraryPath)
...
loader, err := universal.NewLoader()
...
library, err := loader.LoadLibrary("main", &image)
...
val, err := library.Call("Runme", 7)
...
完整的使用示例可在此仓库的examples /文件夹中找到。
特点和局限性
OSX后端使
【文件预览】:
universal-main
----.gitignore(269B)
----go.mod(292B)
----darwin_test.go(2KB)
----loader_windows.go(7KB)
----LICENSE(34KB)
----go.sum(2KB)
----examples()
--------windows_example()
--------linux_example()
--------darwin_example()
----README.md(2KB)
----loader_darwin.go(5KB)
----windows_test.go(3KB)
----universal.go(1KB)
----loader_linux.go(2KB)
----linux_test.go(960B)
----test()
--------src()
--------64()
--------32()