c++ - Clang 中 -g 和 -gfull 的区别
问题描述
标题说明了一切。我到处查看 Clang 的文档,但该选项-gfull
没有任何描述。该文档还缺少有关所有各种调试级别(如-g2
)的信息,如果有人也能解释这一点,那就太好了。
解决方案
显然,Clang 中的 options 、 、-g0
和-g1
等价于GCC 的。我在 Clang 中找不到他们的文档,但我找到了一些关于他们在 GCC 中使用的信息(它们在 Clang 中的行为应该相同,但我不是 100% 确定):-g2
-g3
-gfull
-gfull
用于达尔文/macOS。使用-gfull
相当于-g -fno-eliminate-unused-debug-symbols
. 来源:链接1链接 2。-g0
to-g3
是调试级别。它们指定要包含多少调试信息(注意这-g0
意味着根本没有调试信息)。有关更详细的说明,请参见此处-glevel
(您可以在段落下找到它们)。
编辑:
所有这些命令行选项都在 Clang 手册中作为 GCC 兼容选项 ( source ) 列出。因此,GCC 手册中描述的行为在 Clang 中应该是相同的。
PS:我已经在原始答案中说过,但现在我添加了 Clang 手册的链接作为源。
推荐阅读
- sql - 有没有办法在 CASE 表达式中查看先前的评估?
- graphql - 通过 id 查询特定的播放列表
- r - 在 data.table 中生成索引日期前后 21 天的日期
- python - 如何以编程方式选择一个单元格并检索 Tkinter Treeview 中的内容?
- c# - 如何在 c# 中的每个系统上使用点作为小数分隔符
- ubuntu - libcurl.so.4:没有可用的版本信息
- java - RecycleView 中可定制适配器的问题 - Android/Java
- random-forest - 随机森林中的决策树回归器是否有不同的参数?
- c++ - 执行方法后一行出现两次
- reactjs - Redux-Form 使用索引作为字段数组的键,这不是一种反模式吗?