Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Gcc-g选项。。那有什么用?_C++_C_Gcc_Gdb - Fatal编程技术网

C++ Gcc-g选项。。那有什么用?

C++ Gcc-g选项。。那有什么用?,c++,c,gcc,gdb,C++,C,Gcc,Gdb,gcc-g选项的用途是什么 我尝试了gcc——帮助,但没有找到答案 这与调试目的有关 任何帮助都会很好。谢谢 “我尝试了gcc--help,但没有找到答案。” 嗯,gcc--help只是提供了可用选项和命令行语法的一个非常广泛的概述。这可能是一个更好的起点 正如上面所说的 -g 以操作系统的本机格式(STAB、COFF、XCOFF或DWARF 2)生成调试信息。GDB可以使用此调试信息。 在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息;这些额外的信息使GDB中的

gcc-g选项的用途是什么

我尝试了gcc——帮助,但没有找到答案

这与调试目的有关

任何帮助都会很好。谢谢

“我尝试了
gcc--help
,但没有找到答案。”

嗯,
gcc--help
只是提供了可用选项和命令行语法的一个非常广泛的概述。这可能是一个更好的起点

正如上面所说的

-g
以操作系统的本机格式(STAB、COFF、XCOFF或DWARF 2)生成调试信息。GDB可以使用此调试信息。 在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息;这些额外的信息使GDB中的调试工作更好,但可能会使其他调试器崩溃或拒绝读取程序。如果要确定是否生成额外信息,请使用-gstabs+、-gstabs、-gxcoff+、-gxcoff或-gvms(请参见下文)

GCC允许您将-g与-O一起使用。优化代码采用的快捷方式有时可能会产生令人惊讶的结果:您声明的某些变量可能根本不存在;控制流可能会在您没有预料到的地方短暂移动;有些语句可能无法执行,因为它们计算常量结果或其值已在手边;有些语句可能在不同的位置执行,因为它们已移出循环

然而,事实证明调试优化的输出是可能的。这使得对可能有bug的程序使用优化器是合理的

当生成具有多种调试格式功能的GCC时,以下选项非常有用


从当前可用的文档中,您实际上不清楚什么?不要指望
--help
选项会显示所有信息。当您需要完整的文档时,请查找文档。在Linux或Unix中,
mangcc
是一个很好的起点。或者,在网上搜索一下。请注意,如果您只是将
-g
放在google中,它将排除
g
的任何结果(在google中是排除的意思)。您必须使用诸如
gcc“-g”
之类的关键字。谢谢@xylosper。我只试过-g。不知道谷歌事件中的排斥现象。:)