Gcc 4.8 DWARF4 vs DWARF2
Gcc 4.8 DWARF4 vs DWARF2
GCC 4.8支持DWARF4。我想知道从用户的角度来看,DWARF4和DWARF2有什么不同。
让我们从GDB的角度来看一下。当您切换到DWARF4时,对用户有什么不同吗?
我找到了一个矮人主页,但据我所知,在网上没有关于用户POV差异的信息。
你能指出这些不同之处吗?
DWARF的第一个版本被证明使用了过多的存储空间,DWARF-2取代了它,并添加了各种编码方案来减少数据大小,后来的DWARF版本4提供了改进的数据压缩,更好地描述了优化的代码,并支持c++中的新语言特性。
通常发布说明或公告总结了这些差异(可能会有更多)
http://dwarfstd.org/Announcement.php http://dwarfstd.org/PressRelease.phpDwarf 4标准页面列出了主要的增强功能,规范更详细地列出了这些功能。
对于大多数用户来说,最重要的似乎是更好地支持优化的代码,支持更多的语言(主要是在Dwarf 3中),以及支持新的c++语言结构
我想补充一点,并非所有版本的gdb都能正确读取dwarf4。我经常发现自己用-gdwarf-2
编译只是为了能够看到所有的符号。例如,在gdb 7.2中,如果我使用dwarf4,我无法读取混合Fortran-C构建中的所有符号,而我可以使用dwarf2。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 数据成员SFINAE的C++17测试:gcc vs clang
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 正在VS调试器中监视映射条目
- Confusion: decltype vs std::function
- 将IBM Rhapsody模型集成到VS 2019中
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 修改 VS Code 中的默认C++代码段
- 如何使用c++在VS 2019上运行SQL查询
- vs 2015 constexpr变量不恒定,但与2019相比还好吗
- 完美前进使用 std::forward vs RefRefCast
- 从VS 2015更新3更新到VS2015更新3 d后浮点计算行为不同的原因
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- consteval wrapper vs. source_location
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)
- QStringList vs list<shared_ptr<QString>> 性能比较C++
- Gcc 4.8 DWARF4 vs DWARF2