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
編譯器支持根據(jù) ANSI/ISO 14882 C++ 標(biāo)準(zhǔn)定義的 C++ 異常處理功能。請參閱由 Bjarne Stroustrup 編寫的《C++ 編程語言》第三版。編譯器的 --exceptions 選項啟用異常處理功能。編譯器的默認(rèn)設(shè)置是不支持異常處理。
若要在異常下正常工作,應(yīng)用程序中的所有 C++ 文件都必須使用 --exceptions 選項進(jìn)行編譯,而不管該文件中是否存在異常?;旌鲜褂脝⒂昧水惓:徒昧水惓5哪繕?biāo)文件和庫可能導(dǎo)致未定義的行為。
異常處理需要在運行時支持庫中得到支持,該庫以啟用異常和禁用異常的形式提供;您必須使用正確的表單鏈接。使用自動選擇庫(默認(rèn))選項時,鏈接器會自動選擇正確的庫,請參閱節(jié) 4.3.1.1。如果手動選擇庫,并且啟用異常,則必須使用名稱中包含 _eh 的運行時支持庫。
使用 --exceptions 選項會導(dǎo)致編譯器插入異常處理代碼。這段代碼會增加程序的大小。,但 EABI 不會大幅增加代碼大小,并且如果從未引發(fā)異常,則執(zhí)行時間開銷極小。它略微增加了異常處理表的數(shù)據(jù)大小。
有關(guān)運行時庫的詳細(xì)信息,請參閱節(jié) 7.1。