如何使用 execl() 编译包含 math.h 库的程序

How compiler a program which include math.h library with execl()

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

我在 myMainProg 中使用编译器的这一行 myprog.c。但是 myprog.c 有 #include "math.h" 。所以我必须添加-lm。我该怎么做?

命令(从 shell)到 link 你的程序应该是:

cc myprog.c -o myprog -lm

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

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

编辑:我差点忘了在使用 execl() 时必须将结尾的 NULL 参数强制转换为 char *