GCC '-g' 选项有什么作用?
What does the GCC '-g' option do?
GCC -g选项的用途是什么?
我试了gcc --help
,但是没有找到答案。
"我试了
gcc --help
,但没有找到答案"
好吧,gcc --help
只是提供了一个非常广泛的可用选项和命令行语法的概述。选项摘要文档可能是一个更好的起点。
从GCC文档它说
- g以操作系统的原生格式(stab、COFF、XCOFF或DWARF 2)生成调试信息。GDB可以使用这些调试信息。在大多数使用stab格式的系统上,-g允许使用只有GDB才能使用的额外调试信息;这些额外的信息使调试在GDB中更好地工作,但可能使其他调试器崩溃或拒绝读取程序。如果您想确定是否生成额外的信息,请使用-gstab +、-gstab、-gxcoff+、-gxcoff或-gvms(见下文)。
GCC允许您将-g与-O一起使用。优化代码所采取的快捷方式可能偶尔会产生令人惊讶的结果:您声明的一些变量可能根本不存在;控制流可能会短暂地移动到你没有预料到的地方;有些语句可能不会执行,因为它们计算常数结果或它们的值已经在手;有些语句可能会在不同的地方执行,因为它们被移出了循环。
然而,它证明了调试优化输出是可能的。这使得对可能存在错误的程序使用优化器是合理的。
当生成的GCC具有多种调试格式的能力时,以下选项非常有用。
相关文章:
- "using namespace std;"在C++的作用是什么?
- archive_read_support_filter_all() 有什么作用?
- 当我们为(;;) 写作时,它做了什么?for 循环中的双分号有什么作用?
- 这个递归函数有什么作用?运行时的复杂性是多少?
- 此代码中的" "是什么,它的基本作用是什么?
- 在模板参数中使用 {} 在 type_trait{} 中时,其作用是什么<T>?
- DrawShadow 中的 Elevation 究竟有什么作用?
- 测试"stream >> char"有什么作用?
- "uFlags &= ~CHN_PANNING"命令有什么作用?
- 代码编译但不起作用!cmd窗口只是理想和理想,但什么也没发生
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- <<、>>算子在循环中的作用是什么
- GCC 的 -Wpsabi 选项究竟有什么作用?压制它意味着什么?
- 当我尝试在函数内声明一个函数时,它不起作用?有什么建议吗?*源代码如下*
- int** a = new int*[n]();这个函数有什么作用?
- C++ 此函数调用之前的(void)有什么作用?
- 在c++中,减号和加号对字符串的作用是什么
- i+=(i&-i) 有什么作用?它是便携式的吗?
- atomic_thread_fence的作用域是什么
- 我做错了什么?GetDiskFreeSpaceExA的功能根本不起作用