假设我在编译过程中将一个二进制文件包含到了我的程序中,所以我将其保存在一个变量中,如 var myExec =[]byte{'s','o','m','e',' ','b','y','t','e','s'}
所以我的问题是是否有一种方法可以在我的程序中执行此二进制文件而无需将其写回到光盘并调用exec或fork? 我在Golang写我的应用程序,所以我正在寻找的方法是使用Go或C(使用CGO)。如何从内存执行可执行文件?
基本上,我正在寻找类似的管道bash脚本到bash的只是我不知道我在哪里可以管一个本地可执行的字节来运行它,并写回磁盘,然后让OS读一遍似乎有很多额外的工作要做
你是怎么进入一个没有存储在磁盘上的可执行二进制文件的情况?只是问,因为我*认为*可能有更好的办法来解决原来的问题... –
这只是一个假设的问题。我打算制作一个需要这种信息的应用程序,基本上我可以用我的应用程序打包一些工具,然后根据需要从我的应用程序的仪表板运行它们,而无需将它们写入光盘,并且在完成后没有临时文件在光盘上的所有内存@FelixPalmen – nikoss
我不认为你应该这样做。例如。在Linux系统上,您只需创建一个将这些工具安装到'$(prefix)/ lib/$(package)/'或'$(prefix)/ libexec/$(package)/'的软件包。在Windows上,他们会去你的程序目录中的某个地方。 –