讓我們說從主機Linux系統I交叉編譯ARM這樣的代碼:C程序
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
int main (void) {
return execl ("/bin/echo", "echo", NULL);
}
我有一個二進制echoFromC
問題出在我的目標上,這個二進制文件會運行,沒有/ bin,/ usr等等,所以它不會執行這個命令。
所以我想最終的二進制文件應該包含執行「回聲」所需的所有東西。它不會尋找/ bin/echo(因爲它不在那裏)。
我該怎麼做?
其實我要實現:
交流計劃bash> echo 240 > /sys/class/gpio/export
bash> echo out > /sys/class/gpio/gpio240/direction
bash> echo 1 > /sys/class/gpio/gpio240/value
爲什麼首先需要'echo'?爲什麼不在你的C代碼中調用'printf()'? – NPE
你需要在你的程序中實現'echo'而不是調用'system(「/ bin/echo」,...'。 –
你是什麼意思執行echo的一切?你需要找到一個可執行文件的路徑或者只是在標準輸出上打印? – perreal