close
最近在用fork和execl的時候,遇到execl: Exec format error。
程式如下:
if(fork() == 0)
execl("/tmp/bin/SServer", "SServer", (char*)0);
第一個參數是執行檔或script的所在路徑+檔名。
第二個參數是執行檔或script的檔名。
第三個目前不明白幹嘛要填,或許不用~沒再去多試。
有一個重點是,如果執行檔是在不同的platform要用的,就要用那個platform的compiler去build執行檔,還有compile的時候little endian和big endian也要注意,否則就會出現Exec format error。
下面是我自己compile的指令:
mips-linux-gnu-g++ -c -EL SServer.cpp
mips-linux-gnu-g++ -EL SServer.o -o SServer
另外也參考了這篇的函數介紹
http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html
全站熱搜