c++ - g++ - 使用 "-g"标志进行生产是一个好主意吗?

标签 c++ g++

只是为了提供一些上下文,我在这里谈论的是使用 g++ 编译 C++ 代码。

我可以看到在生产构建中包含 -g 标志将如何方便维护:如果程序意外崩溃,调试起来会容易得多。

我的问题是,包含 -g 标志是否会以任何其他方式影响输出可执行文件,而不是增加其大小?它能否以某种方式使代码变慢(例如通过关闭某些优化)?

据我了解,它不应该(文档只提到包含调试符号),但我不确定。

最佳答案

-g 标志不影响代码生成,仅更改符号表和调试元数据。这些并不存在于可执行代码部分,因此当代码在 hte 调试器之外运行时,它们甚至不会影响性能。

关于c++ - g++ - 使用 "-g"标志进行生产是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988318/

相关文章:

c++ - 如何在 C++ 中使用枚举作为标志?

c++ - 对于给定的目标,如何将其依赖目标之一暴露给其依赖目标之一?

c++ - MySQL 连接器/C++ PreparedStatement : forward declaration of ‘class sql::PreparedStatement’

c++ - 将 C++ 类及其派生类放在特定部分

c++ - float 到双重误解???克++

c++ - 在 Linux 上使用控制台编译 C++ 时出现问题

c++ - Xcode 5 控制台应用程序仅在通过 finder 启动时出现段错误

c++ - ifstream::ifstream 在目录上的行为是否定义明确?

c++ - 在 Inno-Setup 中使用自定义 DLL

c++ - 堆栈和 vtable [重新] 位置