当你在c中创建一个makefile时,-g会做什么?

问题描述 投票:-1回答:3

我正在查看一个makefile,我得到的是-o,-c但是-g做什么和意思是什么。

makefile
3个回答
1
投票

这与make无关。您应该查看编译器的文档。例如,GCC的选项是summarized here。如果你在那里搜索,你会发现-g是一个调试选项described here

如果您使用不同的编译器,您应该检查该编译器的文档(但是,绝大多数C编译器使用相同的基本选项,因此它可能与您的相同)。


0
投票

通常,C编译器中的-g选项会将调试信息添加到可执行文件中,因此您可以使用调试可执行文件

GDB

有关调试C程序的更多详细信息,请参阅How to debug a C program


-1
投票

-g强制gcc向编译的代码添加调试信息,这使您可以使用gdb更轻松地调试它。

除非您或使用您的代码的其他人使用gdb,否则没有理由包含该标志。

来自gcc手册页:

在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息;这些额外的信息使得调试在GDB中工作得更好,但可能会使其他调试器崩溃或拒绝读取程序。

https://linux.die.net/man/1/gcc

© www.soinside.com 2019 - 2024. All rights reserved.