我想知道每个标志对代码的作用以了解其开销。我检查了man g++
为 '-g'
旗帜
仅找到 "Generate extra code to write profile...."
没有具体说明在哪里?
他们是否有任何详细的手册来帮助我理解 -g/-p 的作用?
最佳答案
“生成额外的代码来编写配置文件”是 -p
选项,这将添加额外的代码。额外代码的范围至少是一个寄存器加载和一个函数开始和结束时的函数调用,但这确实取决于体系结构。这可能反过来影响编译期间的其他优化,例如寄存器的可用性、内联以及实际运行代码时,它可能会影响缓存命中率/未命中率,除了执行这些额外指令的直接影响之外。-g
option 本身并不添加额外的代码,它只是生成成为可执行文件一部分的调试符号,以便调试器可以在您使用调试器时找出函数、变量等的位置。
关于gcc - 理解 g++ 编译标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17212054/