GNU编译器中的更改-g标志使其可用于c++
Changes -g flag in GNU compiler makes in executable for c++
添加-g标志后,会对可执行文件进行哪些更改?
主要的变化将是二进制文件的大小增加,因为它现在将包含额外的调试信息。根据您正在构建的目标,它可能(或不)在执行过程中产生任何其他影响。例如,当生成ELF时,所有调试信息都保存在一个单独的部分中,甚至不需要加载到内存中,除非在调试器内部运行(因此即使二进制文件更大,也不需要更多的实际内存来运行)
基本上,它包含了有关程序源的更多信息,否则这些信息将在编译过程中丢失。这包括更多的符号名称和机器代码对应的行号。有关更多详细信息,请参阅此参考资料。
调试信息会添加到可执行文件中。请参阅此链接。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 用于访问容器<T>数据成员的正确 API
- 重载操作程序时出错>>用于类中的字符串 memebr
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- C++中的cin.ignore()函数不适用于整个流
- 没有用于初始化C++中的变量模板的匹配构造函数
- 用于C++中带有数组和指针的循环
- 为什么它不适用于Visual 2019的原因
- 使用在用于SFINAE的void_t中具有参数的方法
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 重载==不适用于二进制树
- Insert函数不适用于2 if语句C++
- 用于矢量处理的多个线程
- 使外部项目可用于find_package CMake
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 为什么模数运算符不适用于该代码
- 并行用于C++17中数组索引范围内的循环
- 将fold表达式与std::一起用于两个元组
- 在用于格式4的arm模拟器中实现功能时的一个问题