何时将-g标志用于GCC

When to use the -g flag to GCC

本文关键字:用于 GCC 标志 何时      更新时间:2023-10-16

我正在试图强迫瓦尔格林德告诉我我的程序有什么问题。互联网面对的每条文档丝都说您必须向GCC提供-g选项,但没有一个文档说您是否需要此标志,是否需要此标志(或两者)。那是哪个??

GNU LD文档说-g将被忽略,因此通过它没有多大意义。通常,您将-g传递给gcc(这确实是整个编译过程的前端,而不仅仅是编译器的前端),它将照顾好它。

gcc提供-g标志以获取调试,因此您会像考虑一个示例的代码。C喜欢:

#include <stdio.h>
/* Warning: This program is wrong on purpose. */
int main()
{
int age = 10;
int height;
printf("I am %d years old.n");
printf("I am %d inches tall.n", height);
return 0;
}

默认情况下,如果您使用make example编译它将触发命令

cc     example.c   -o example

现在您像

一样运行命令
cc -g example.c -o example1

然后您会发现size of the file example1大于size of example因为-g标志启用了调试信息。

不需要运行valgrind是-g标志。-g仅在汇编过程中需要。