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
可以通過(guò)使用 --program_level_compile 選項(xiàng)和 --opt_level=3 選項(xiàng)(別名為 -O3)來(lái)指定程序級(jí)優(yōu)化。(如果使用 --opt_level=4 (-O4),則不能使用 --program_level_compile 選項(xiàng),因?yàn)殒溄訒r(shí)優(yōu)化提供了與程序級(jí)優(yōu)化相同的優(yōu)化機(jī)會(huì)。)
通過(guò)程序級(jí)優(yōu)化,所有源文件都會(huì)編譯成稱為模塊 的中間文件。該模塊會(huì)轉(zhuǎn)入到編譯器的優(yōu)化和代碼生成階段。由于編譯器可以看到整個(gè)程序,因此其會(huì)執(zhí)行一些在文件級(jí)優(yōu)化中很少應(yīng)用的優(yōu)化:
--program_level_compile 選項(xiàng)要求使用 --opt_level=3 或更高版本,以便執(zhí)行這些優(yōu)化。
要查看編譯器正在應(yīng)用哪些程序級(jí)優(yōu)化,請(qǐng)使用 --gen_opt_level=2 選項(xiàng)來(lái)生成信息文件。有關(guān)更多 信息,請(qǐng)參閱節(jié) 3.3.1。
在 Code Composer Studio 中,當(dāng)使用 --program_level_compile 選項(xiàng)時(shí),具有相同選項(xiàng)的 C 和 C++ 文件將被一起編譯。但是,如果任何文件具有未被選為項(xiàng)目范圍選項(xiàng)的文件專用選項(xiàng),則該文件將被單獨(dú)編譯。例如,如果項(xiàng)目中的每個(gè) C 和 C++ 文件都有一組不同的文件專用選項(xiàng),則即使已指定了程序級(jí)優(yōu)化,也會(huì)單獨(dú)編譯每個(gè)文件。要將所有的C 和 C++ 文件一起編譯,請(qǐng)確保這些文件沒(méi)有文件專用選項(xiàng)。請(qǐng)注意,如果先前使用了文件專用選項(xiàng),則將 C 和 C++ 文件一起編譯可能不安全。
如果使用--program_level_compile 和--keep_asm 選項(xiàng)編譯所有文件,則編譯器只會(huì)生成一個(gè) .asm 文件,而不是為每個(gè)對(duì)應(yīng)的源文件都生成一個(gè)。