假設我在編譯過程中將一個二進制文件包含到了我的程序中,所以我將其保存在一個變量中,如 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上,他們會去你的程序目錄中的某個地方。 –