-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)'? –