当你';在c中重新创建makefile?

当你';在c中重新创建makefile?,makefile,Makefile,我正在查看一个makefile,我得到了-o,-c的作用,但-g的作用和含义是什么。通常-g选项在c编译器中向可执行文件添加调试信息,因此您可以使用 gdb 。有关调试C程序的更多详细信息,请参阅。这与make无关。您应该查看编译器的文档。例如,GCC的选项是。如果您在那里搜索,您会发现-g是一个调试选项 如果您使用不同的编译器,您应该检查该编译器的文档(但是,绝大多数C编译器使用相同的基本选项,因此您的编译器可能也使用相同的选项)。-g强制gcc将调试信息添加到编译代码中,从而使您可以更轻松地

我正在查看一个makefile,我得到了-o,-c的作用,但-g的作用和含义是什么。

通常
-g
选项在c编译器中向可执行文件添加调试信息,因此您可以使用

gdb


。有关调试C程序的更多详细信息,请参阅。

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


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

-g
强制gcc将调试信息添加到编译代码中,从而使您可以更轻松地使用gdb对其进行调试

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

从gcc手册页:

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


你在谈论GCC吗?为什么要用C来创建makefile?你以前用过valgrind吗?在查找内存泄漏时用过一两次。直到现在,我才意识到这面旗帜的存在。可能会让我的生活轻松很多。。。