gpt4 book ai didi

c - 多文件编译出错时停止 GCC

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:31 26 4
gpt4 key购买 nike

正在尝试回答 this SO question我发现 gcc 选项

  • -Wfatal-errors
  • -fmax-errors=n

“按编译单元”工作

我的意思是,使用 2 个源代码 c 文件并使用命令编译

gcc -Wall -Wextra -pedantic -Wfatal-errors -o test test1.c test2.c

并将垃圾写入两个文件我看到 test1.c 的第一个错误处停止,但它开始编译 test2.c

我猜是因为进程启动不同的任务,每个源文件一个,因此选项会应用多次。

问题是:是否有一个编译器选项可以“根据 gcc 命令”工作?

最佳答案

据我所知或可以确定,不,GCC 没有这样的选项。如果它确实有,我希望发现它被记录为“Overall Option”,或者可能在“Options to Request or Suppress Warnings”中(记录了 -Wfatal-errors)。这两个部分都没有描述这样的选项,整个 option summary 也没有描述。列出任何似乎合适的内容,除了那些已经在问题中讨论过并被拒绝的选项。

请注意,我已经引用并链接了 GCC 6.2.0 的文档,这是撰写本文时的最新版本。我认为可以合理地假设,如果早期版本中存在诸如问题寻求之类的选项,那么它将被继承,但我没有对证明这一点所需的 GCC 文档进行详尽搜索。

对我来说最有希望的替代方案是通过单独的 gcc 命令编译每个翻译单元,然后在单独的步骤中将它们链接在一起。 Makefile 通常被构造成以这种方式工作,并且 GNU Make 将在构建任何目标失败后停止,前提是它的 -k/--keep-going 选项不是启用。

关于c - 多文件编译出错时停止 GCC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41187780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com