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
編譯器會(huì)根據(jù)節(jié) 2.11中提到的因素決定內(nèi)聯(lián)哪些函數(shù)。此外,還有一些限制可以取消函數(shù)被自動(dòng)內(nèi)聯(lián)或基于關(guān)鍵字內(nèi)聯(lián)的資格。
如果函數(shù)符合以下條件,編譯器將保留調(diào)用:
如果函數(shù)具有會(huì)給編譯器帶來困難情形的特性,編譯器也不會(huì)內(nèi)聯(lián)調(diào)用:
無論其他指示如何(包括被調(diào)用函數(shù)上的 FUNC_ALWAYS_INLINE pragma 或 always_inline 屬性),使用 NOINLINE pragma 注釋的語(yǔ)句中的調(diào)用都不會(huì)被內(nèi)聯(lián)。
如果使用 FORCEINLINE pragma 注釋的語(yǔ)句中的調(diào)用未因上述原因之一被取消資格,即使被調(diào)用函數(shù)具有 FUNC_CANNOT_INLINE pragma 或 cannot_inline 屬性,則該調(diào)用都是被內(nèi)聯(lián)的。
換句話說,語(yǔ)句級(jí) pragma 會(huì)覆蓋函數(shù)級(jí) pragma 或?qū)傩?。如?NOINLINE 和 FORCEINLINE 都適用于同一條語(yǔ)句,則首先出現(xiàn)的語(yǔ)句被使用,其余語(yǔ)句被忽略。