goloader:在运行时加载并运行golang代码

时间:2021-02-18 10:55:55
【文件属性】:
文件名称:goloader:在运行时加载并运行golang代码
文件大小:53KB
文件格式:ZIP
更新时间:2021-02-18 10:55:55
plugin go golang arm dynamic 装货商 Goloader可以在运行时加载和运行Golang代码。 从派生,接管维护,因为原始作者不在维护中 它是如何工作的? Goloader的工作原理类似于链接程序:它重新定位目标文件中符号的地址,生成可运行的代码,然后重用运行时函数和加载程序的类型指针。 Goloader为Go的运行时和gc提供了一些信息,从而使其可以与它们正确配合使用。 请注意,Goloader不是脚本引擎。 它读取Go编译器的输出,并使它们可运行。 支持Go的所有功能,并且与本机Go代码一样快速,轻便地运行。 与插件比较 Goloader重用Go运行时,从而使其变得更小。 Goloader加载的代码是不可卸载的。 Goloader是可调试的,并且支持pprof工具(是的,您可以在pprof中看到Goloader加载的代码)。 建造 确保您使用的是go> = 1.8。 首先,执行以下命令,然后进行构建和
【文件预览】:
goloader-master
----utils.go(3KB)
----go.mod(42B)
----debug.go(562B)
----readobj.1.8.go(3KB)
----.github()
--------workflows()
----readobj.go(2KB)
----type.go(2KB)
----dymcode.go(19KB)
----module.1.16.go(4KB)
----register.go(2KB)
----readobj.1.16.go(5KB)
----module.1.10.go(2KB)
----module.1.12.go(2KB)
----module.go(3KB)
----empty_asm.s(0B)
----inlinetree.go(2KB)
----dymcode.1.9.go(3KB)
----mmap_windows.go(1KB)
----dymcode.1.14.go(4KB)
----iface.1.8.go(2KB)
----register.1.16.go(494B)
----examples()
--------loader()
--------http()
--------inline()
--------base()
--------const()
--------basecontext()
--------inter()
--------schedule()
----.travis.yml(610B)
----type.1.8.go(1KB)
----LICENSE(11KB)
----type.1.14.go(1KB)
----dymcode.1.12.go(4KB)
----dymcode.1.8.go(2KB)
----mmap_unix.go(531B)
----README.md(2KB)
----const.go(1KB)
----asm_bytes.go(1019B)
----iface.1.10.go(2KB)
----module.1.8.go(2KB)
----module.1.14.go(3KB)
----stackobject.go(1KB)
----module.1.13.go(2KB)
----dymcode.1.16.go(4KB)
----mmap_linux_amd64.go(500B)
----register.1.8.go(491B)
----deferreturn.go(853B)
----iface.go(664B)

网友评论