码迷,mamicode.com
首页 > 其他好文 > 详细

MinGW-w64各版本—— sjlj seh dwarf 有什么区别?

时间:2021-04-08 12:56:03      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:64位系统   使用   64位   except   and   机制   执行文件   reading   x86   

 

释义1:

  • DWARF:一种带调试信息(DWARF- 2(DW2)EH)的包, 所以比一般的包尺寸大,仅支持32位系统
  • SJLJ:跨平台,支持32,64位系统,缺点是:运行速度稍慢,GCC不支持
  • SEH: 调用系统机制处理异常,支持32,64位系统,缺点是:Gcc不支持(即将支持)

释义2:

  • x86_64: 简称X64,64位操作系统
  • i686: 32位操作系统 (i386的子集),差不多奔腾2(1997年5月)之后的CPU都是可以用的;

释义3:

  • posix: 启用了C++ 11 多线程特性
  • win32: 未启用 (从时间线上正在尝试也启用部分 Threading)

区别

  • DWARF DWARF- 2(DW2)EH ,这需要使用DWARF-2(或DWARF-3)调试信息。 DW-2 EH可以导致可执行文件略显膨胀,因为大的调用堆栈解开表必须包含在可执行文件中。
  • setjmp / longjmp(SJLJ)。基于SJLJ的EH比DW2 EH慢得多(在没有异常时会惩罚甚至正常执行),但是可以在没有使用GCC编译的代码或没有调用堆栈的代码上工作。
  • 结构化异常处理(SEH) (Structured Exception Handling)Windows使用自己的异常处理机制。

 


 

MinGW-w64下载地址:https://sourceforge.net/projects/mingw-w64

参考:https://www.pcyo.cn/linux/20181212/216.html

 

MinGW-w64各版本—— sjlj seh dwarf 有什么区别?

标签:64位系统   使用   64位   except   and   机制   执行文件   reading   x86   

原文地址:https://www.cnblogs.com/rchang/p/14623951.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!