-1
execl("/usr/bin/cc","cc","myprog.c",NULL)

我使用这一行编译到 myMainProg 中的 myprog.c。但是 myprog.c 有 #include "math.h" 。所以我必须添加-lm。我怎样才能做到这一点?

4

1 回答 1

1

链接您的程序的命令(来自 shell)应该是:

cc myprog.c -o myprog -lm

因此,如果您想使用execl从另一个程序编译它,您应该使用:

execl("/usr/bin/cc","cc","myprog.c", "-o", "myprog", "-lm", (char *) NULL);

编辑:我几乎忘记了使用execl()结束NULL参数时必须强制转换为char *

于 2016-04-21T17:22:45.227 回答