從命令行獲取我必須使用gcc編譯的文件名。可以這樣說。使用gcc在另一個程序中編譯程序
./a.out fileToBeCompiled.c
那麼我怎麼能編譯使用我的計劃之內的gcc這個文件?可以說main.a正在爲其生成。
從命令行獲取我必須使用gcc編譯的文件名。可以這樣說。使用gcc在另一個程序中編譯程序
./a.out fileToBeCompiled.c
那麼我怎麼能編譯使用我的計劃之內的gcc這個文件?可以說main.a正在爲其生成。
您可以隨時調用gcc從程序中的shell執行命令進行編譯。從你程序中
謝謝,它爲我工作。 – itsaboutcode 2009-11-14 20:15:25
使用系統是一個壞主意,但如果它適用於它的代碼,那對我應該沒問題 – 2009-11-14 20:20:26
只是EXEC GCC。
int main(int argc, char** argv)
{
execv("/usr/bin/gcc", argv);
}
./a.out fileToBeCompiled.c && gcc fileToBeCompiled.c
如果./a.out
失敗(這則返回0以外的東西),GCC將不會被調用
簡單,你可以使用功能「系統」(內stdio.h中定義)來執行UNIX命令在c,C++程序裏面。
例如:我要編譯sub.c裏面的main.c
void main(void)
{
system("cc sub.c -o sub");
}
您可以指定動態輸入和輸出文件。
沒有脫殼:http://programmers.stackexchange.com/questions/189949/is-there-a-way-to-use-gcc-as-a-library – 2016-07-02 09:40:00