釋義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