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
編譯器識別其定義僅包含對另一個函數(shù)的調(diào)用的函數(shù)。如果這兩個函數(shù)具有相同的簽名(相同的返回值以及相同數(shù)量、相同類型且順序相同的參數(shù)),則編譯器可以使調(diào)用函數(shù)成為被調(diào)用函數(shù)的別名。
例如,考慮以下情況:
int bbb(int arg1, char *arg2);
int aaa(int n, char *str)
{
return bbb(n, str);
}
在本示例中,編譯器使 aaa 成為 bbb 的別名,因此在鏈接時,對函數(shù)aaa 的所有調(diào)用都應(yīng)重定向到 bbb。如果鏈接器可以成功地將所有引用重定向到aaa,則可以刪除函數(shù) aaa 的主體,并將符號 aaa 定義在與 bbb 相同的地址處。
有關(guān)使用 GCC 函數(shù)屬性語法來聲明函數(shù)別名的信息,請參閱節(jié) 5.17.2。