簡體   English   中英

在C程序中使用execvp運行命令

[英]run a command with execvp in c program

我想用execvp運行此命令

gcc file1.o file2.o file3.o

我創建了一個包含以下內容的標簽:

char * tab = {"file1.o", "file2.o", "file3.o", NULL };

當我這樣調用execvp時:

 execvp("gcc",tab);

我有這個錯誤:

file1.o: erreur fatale: -fuse-linker-plugin, but liblto_plugin.so not found

當我使用以下命令編譯文件時:

gcc file1.o file2.o file3.o

沒有問題。

請注意,我的程序並非像我這樣編寫來簡化。 有關完整的代碼,請訪問http://pastebin.com/zQ8pwmZd

所述的第一個元素argv傳遞到陣列execvp (即,傳遞給第二個參數execvp )應(就像用argv傳遞給數組main正在執行,與所述元素的任何C程序的功能)的程序的名稱之后是第一個命令行參數。 因此, tab應為:

char * tab[] = {"gcc", "file1.o", "file2.o", "file3.o", NULL };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM