首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用GCC调试标志(编译阶段/链接阶段)

用GCC调试标志(编译阶段/链接阶段)
EN

Stack Overflow用户
提问于 2016-10-18 02:16:45
回答 2查看 8.6K关注 0票数 6

我有一个这个制作文件

代码语言:javascript
复制
application=<somebinaryname>
CXXFLAGS=-g -std=c++14 -Wall -Werror -pedantic
LDFLAGS=-g

auto: $(application)

$(application): main.o aaa.o aab.o aba.o baa.o
        $(CXX) $(LDFLAGS) -o $@ $^

%.o: %.cpp
        $(CXX) $(CXXFLAGS) -c $< -o $@

# rest of Makefile not relevant to my question

请有人告诉我,-g选项是在编译阶段(使用CXXFLAGS)还是在链接阶段(使用LDFLAGS)?我到处寻找示例和文档,但它们都有非常琐碎的例子,比如(甚至是手册):

代码语言:javascript
复制
gcc -g -o binary source.cpp

我明白,但这并不能说明什么。

这件事还清楚吗?

EN

回答 2

Stack Overflow用户

发布于 2016-10-18 06:39:31

-g生成调试信息。用-g选项编译C程序。这允许编译器收集调试信息。然后可以使用gdb调试二进制文件。

一些有用的链接

http://www.thegeekstuff.com/2010/03/debug-c-program-using-gdb/

https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html

GCC -g vs -g3 GDB Flag: What is the Difference?

票数 1
EN

Stack Overflow用户

发布于 2022-08-23 09:48:10

https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html gcc文档在编译阶段谈到了-g。由此我推断,在链接阶段不需要它。不过,奇怪的是,链接器不会在您-g时发出抱怨/警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40098478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档