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 模式 (--relaxed_ansi) 下進(jìn)行編譯時(shí),大多數(shù) GCC 語(yǔ)言擴(kuò)展都可在 TI 編譯器中使用。
表 5-5 中列出了 TI 編譯器支持的擴(kuò)展,其基于 GNU 網(wǎng)站上的擴(kuò)展列表。陰影行描述了不受支持的擴(kuò)展。
| 擴(kuò)展 | 說(shuō)明 |
|---|---|
| 語(yǔ)句表達(dá)式 | 將語(yǔ)句和聲明放在表達(dá)式中(用于創(chuàng)建智能的“安全”宏命令) |
| 局部標(biāo)簽 | 語(yǔ)句表達(dá)式的局部標(biāo)簽 |
| 標(biāo)簽作為值 | 指向標(biāo)簽和計(jì)算得到的 goto 的指針 |
| 嵌套函數(shù) | 就像在 Algol 和 Pascal 中一樣,函數(shù)的詞法范圍 |
| 構(gòu)造調(diào)用 | 分派對(duì)另一個(gè)函數(shù)的調(diào)用 |
| 命名類型(1) | 為表達(dá)式類型指定名稱 |
| typeof 運(yùn)算符 | typeof 指的是表達(dá)式類型 |
| 廣義左值 | 在左值中使用問(wèn)號(hào) (?)、逗號(hào) (,) 和 cast |
| 條件語(yǔ)句 | 省略 ?: 表達(dá)式的中間操作數(shù) |
| long long | Double long 字整數(shù)和 long long int 類型 |
| 十六進(jìn)制浮點(diǎn)值 | 十六進(jìn)制浮點(diǎn)常量 |
| 復(fù)數(shù) | 復(fù)數(shù)的數(shù)據(jù)類型 |
| 零長(zhǎng)度 | 零長(zhǎng)度數(shù)組 |
| 可變參數(shù)宏命令 | 具有可變數(shù)量參數(shù)的宏命令 |
| 可變長(zhǎng)度 | 在運(yùn)行時(shí)計(jì)算長(zhǎng)度的數(shù)組 |
| 空結(jié)構(gòu) | 無(wú)成員的結(jié)構(gòu) |
| 加下標(biāo) | 任何數(shù)組都可以加下標(biāo),即使它不是左值。 |
| 轉(zhuǎn)義換行符 | 轉(zhuǎn)義換行符的規(guī)則稍微寬松一些 |
| 多行字符串(1) | 帶有嵌入換行符的字符串文字 |
| 指針?biāo)阈g(shù) | 空指針和函數(shù)指針的算術(shù) |
| 初始化程序 | 非常量初始化程序 |
| 復(fù)合字面量 | 復(fù)合字面量將結(jié)構(gòu)體、聯(lián)合體或數(shù)組作為值 |
| 指定的初始化程序 | 初始化程序的標(biāo)簽元素 |
| 強(qiáng)制轉(zhuǎn)換為 union | 從 union 的任何成員強(qiáng)制轉(zhuǎn)換為 union 類型 |
| Case(強(qiáng)制轉(zhuǎn)換)范圍 | “Case 1 ...9”等 |
| 混合聲明 | 混合聲明和代碼 |
| 函數(shù)屬性 | 聲明函數(shù)沒(méi)有任何副作用,或者其永遠(yuǎn)不會(huì)返回 |
| 屬性語(yǔ)法 | 屬性的正式語(yǔ)法 |
| 函數(shù)原型 | 原型聲明和舊式定義 |
| C++ 注釋 | 系統(tǒng)會(huì)識(shí)別 C++ 注釋。 |
| 美元符號(hào) | 標(biāo)識(shí)符中允許使用美元符號(hào)。 |
| 字符轉(zhuǎn)義 | 字符 ESC 表示為 \e |
| 變量屬性 | 指定變量的屬性 |
| 類型屬性 | 指定類型的屬性 |
| 對(duì)齊 | 查詢類型或變量的對(duì)齊情況 |
| 內(nèi)聯(lián) | 定義內(nèi)聯(lián)函數(shù)(和宏命令一樣快) |
| 匯編標(biāo)簽 | 指定要用于 C 符號(hào)的匯編器名稱 |
| 擴(kuò)展的 asm | 帶有 C 操作數(shù)的匯編器指令 |
| 約束條件 | asm 操作數(shù)的約束條件 |
| 包裝器頭文件 | 包裝器頭文件可以使用 #include_next 包含另一個(gè)版本的頭文件 |
| 替代關(guān)鍵字 | 頭文件可以使用 __const__、__asm__ 等 |
| 顯式寄存器變量 | 定義駐留在指定寄存器中的變量 |
| 不完整的枚舉類型 | 定義枚舉標(biāo)簽而不指定其可能的值 |
| 函數(shù)名稱 | 作為當(dāng)前函數(shù)名稱的可打印字符串 |
| 返回地址 | 獲取函數(shù)的返回地址或幀地址(有限支持) |
| 其他內(nèi)置 | 其他內(nèi)置函數(shù)(請(qǐng)參見節(jié) 5.17.6) |
| 矢量擴(kuò)展 | 通過(guò)內(nèi)置函數(shù)使用矢量指令 |
| 目標(biāo)內(nèi)置 | 專用于特定目標(biāo)的內(nèi)置函數(shù) |
| Pragma | GCC 接受的 pragma |
| 未命名字段 | 結(jié)構(gòu)體/聯(lián)合體中的未命名結(jié)構(gòu)體/聯(lián)合體字段 |
| 線程本地 | 每線程變量 |
| 二進(jìn)制常量 | 使用“0b”前綴的二進(jìn)制常量。 |