首页 > 解决方案 > Clang 中 -g 和 -gfull 的区别

问题描述

标题说明了一切。我到处查看 Clang 的文档,但该选项-gfull没有任何描述。该文档还缺少有关所有各种调试级别(如-g2)的信息,如果有人也能解释这一点,那就太好了。

标签: c++cclang

解决方案


显然,Clang 中的 options 、 、-g0-g1等价于GCC 的。我在 Clang 中找不到他们的文档,但我找到了一些关于他们在 GCC 中使用的信息(它们在 Clang 中的行为应该相同,但我不是 100% 确定):-g2-g3-gfull

  • -gfull用于达尔文/macOS。使用-gfull相当于-g -fno-eliminate-unused-debug-symbols. 来源:链接1链接 2

  • -g0to-g3是调试级别。它们指定要包含多少调试信息(注意这-g0意味着根本没有调试信息)。有关更详细的说明,请参见此处-glevel(您可以在段落下找到它们)。

编辑:

所有这些命令行选项都在 Clang 手册中作为 GCC 兼容选项 ( source ) 列出。因此,GCC 手册中描述的行为在 Clang 中应该是相同的。

PS:我已经在原始答案中说过,但现在我添加了 Clang 手册的链接作为源。


推荐阅读