-1
execl("/usr/bin/cc","cc","myprog.c",NULL)
我使用這行代碼編譯myMogProg中的myprog.c。但myprog.c有#include「math.h」。所以我必須添加-lm。我怎樣才能做到這一點?如何使用execl編譯一個包含math.h庫的程序()
execl("/usr/bin/cc","cc","myprog.c",NULL)
我使用這行代碼編譯myMogProg中的myprog.c。但myprog.c有#include「math.h」。所以我必須添加-lm。我怎樣才能做到這一點?如何使用execl編譯一個包含math.h庫的程序()
命令(殼)鏈接你的程序應該是:
cc myprog.c -o myprog -lm
所以,如果你想使用execl
從另一個程序編譯它,你應該使用:
execl("/usr/bin/cc","cc","myprog.c", "-o", "myprog", "-lm", (char *) NULL);
編輯:在使用execl()
時幾乎忘了結尾NULL
參數必須轉換爲char *
非常感謝。 –
'math.h'是一個頭,而不是一個庫。並且不要添加不相關的標籤。 – Olaf
'execl(「/ usr/bin/cc」,「cc」,「myprog.c -lm」,NULL)'? –