【问题标题】:How can I create target for debug as well as default target for building program normally while creating makefile?在创建makefile时,如何创建调试目标以及正常构建程序的默认目标?
【发布时间】:2014-09-28 17:51:53
【问题描述】:

我正在编写 makefile 来构建我的程序。

我想知道调试命令。

我已经编写了 makefile 用于编译和清理

all: perfect.c
    gcc -g -o perfect perfect.c
clean:
    rm -f perfect

你能帮我写调试吗?以及默认目标是什么意思?

【问题讨论】:

  • 如果您不知道如何没有 Make,您将无法使用 Make。你必须阅读调试版本,也许还有 gdb,GNU 调试器。

标签: c makefile gdb


【解决方案1】:

在继续学习之前,请先学习有关 make 文件的基础知识。你可以从this link开始

Can you help me in writing for debug?

您的 make 文件已经为调试编写(使用 -g 编译器标志)

 what does it mean default target?

默认目标是您的第一个目标。在您的情况下(以及大多数情况下)是all,也就是说,如果您只是调用make,那么必须执行什么规则。看到清理你必须给make clean,但对于标签all,你可以打电话给make all或只是make。因为all 是第一个目标,所以默认会执行。如果您在开头写clean,那么clean 将成为默认目标。

让我们重写您的makefile 以进行正常构建和调试构建。

all: perfect.c
     gcc -o perfect perfect.c
debug: perfect.c
      gcc -g -o perfect-debug perfect.c
clean:
      rm -rf perfect perfect-debug

因此,如果您运行 make all 或仅运行 make perfect.c 将在没有调试选项的情况下构建。如果您运行make debug,那么perfect.c 将使用调试选项构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多