為什麼c語言用eecl執行bashshell指令碼會出現

2022-02-22 06:03:05 字數 379 閱讀 8284

1樓:護膚達人it宅族

請教各位,我在乙個c程式中使用execv執行乙個shell指令碼,總是報

exec format error,部分**如下:

char *arg[2];

int child = fork();

if(child==0)

test.sh是shell指令碼,應該是由shell解釋執行的。而它本身只是乙個純文字檔案,不可以象可執行二進位制程式一樣執行。可以改為:

arg[0] = "bash";

arg[1] = "home/pjz0311/test/test.sh";

arg[2] = (char *)0;

execv("/bin/bash", arg);

c語言執行庫是什麼,c語言執行需要什麼環境?

1 c執行庫,是和平台相關的,即和作業系統相關的。它由不同作業系統不同開發平台提供不同的c執行庫。但是c執行庫的部分實現是基於c標準庫的,即c執行庫是各個作業系統各個開發工具根據自身平台開發的庫,某種程度上,可以說c執行庫是c標準庫的乙個擴充套件庫,只是加了很多c標準庫所沒有的與平台相關的或者不相關...

為什麼我用Vc6 0執行C語言不成功呢

找不到編譯器。改windows系統環境變數設定vc裡設定沒用,和vc無關,vc6就這個德行。vc的整合環境呼叫編譯器c1.exe,是根據作業系統的環境變數path裡的路徑查詢的。路徑裡缺少路徑。桌面 我的電腦 右鍵 屬性 高階 環境變數 系統變數 path,確保包含有這樣的路徑 你的vc安裝目錄 b...

C語言這個函式執行結果為什麼是0,4,

c a a a b,b 4 最先執行的是 a,a變成1 然後執行的是 a a,a變成0 然後執行的是c a,c變成0 相當於不變 然後執行的是a b,a變成0 相當於不變 然後執行的是b 4,b變成4 所以最後結果是a 0,b 4,c 0 這是一個逗號表示式,逗號表示式的結果取決於最後一個表示式的結...