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



arrow
arrow
    全站熱搜

    lver76 發表在 痞客邦 留言(0) 人氣()