【问题标题】:How compiler a program which include math.h library with execl()如何使用 execl() 编译包含 math.h 库的程序
【发布时间】:2016-04-21 17:04:37
【问题描述】:
execl("/usr/bin/cc","cc","myprog.c",NULL)

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

【问题讨论】:

  • math.h 是标题,而不是库。并且不要添加不相关的标签。
  • execl("/usr/bin/cc","cc","myprog.c -lm",NULL) ?

标签: c execl


【解决方案1】:

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

cc myprog.c -o myprog -lm

所以如果你想使用execl从另一个程序编译它,你应该使用:

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

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

【讨论】:

    猜你喜欢
    • 2014-03-03
    • 2016-10-30
    • 2020-11-18
    • 1970-01-01
    • 2014-06-03
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多