ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
編譯器支持根據 ANSI/ISO 14882 C++ 標準定義的 C++ 異常處理功能。請參閱由 Bjarne Stroustrup 編寫的《C++ 編程語言》第三版。編譯器的 --exceptions 選項啟用異常處理功能。編譯器的默認設置是不支持異常處理。
若要在異常下正常工作,應用程序中的所有 C++ 文件都必須使用 --exceptions 選項進行編譯,而不管該文件中是否存在異常。混合使用啟用了異常和禁用了異常的目標文件和庫可能導致未定義的行為。
異常處理需要在運行時支持庫中得到支持,該庫以啟用異常和禁用異常的形式提供;您必須使用正確的表單鏈接。使用自動選擇庫(默認)選項時,鏈接器會自動選擇正確的庫,請參閱節 4.3.1.1。如果手動選擇庫,并且啟用異常,則必須使用名稱中包含 _eh 的運行時支持庫。
使用 --exceptions 選項會導致編譯器插入異常處理代碼。這段代碼會增加程序的大小。,但 EABI 不會大幅增加代碼大小,并且如果從未引發異常,則執行時間開銷極小。它略微增加了異常處理表的數據大小。
有關運行時庫的詳細信息,請參閱節 7.1。