我正在優化我的應用程序中的一些熱點,編譯使用gcc-arm
完成。C++ - 常量和優化
現在,有任何機會,下面的語句將導致不同的彙編代碼:
static const pixel_t roundedwhite = 4294572537U;
return (packed >= roundedwhite) ? purewhite : packed;
// OR
const pixel_t roundedwhite = 4294572537U;
return (packed >= roundedwhite) ? purewhite : packed;
// OR
return (packed >= 4294572537U) ? purewhite : packed;
是否有任何機會,我的ARM編譯器可能會產生不必要的代碼,第一種情況下或應此得到反正優化?
我認爲它是相同的,但是,不幸的是,我不知道gcc-arm
與普通gcc
相比,我無法訪問反彙編列表。
非常感謝。
它會被優化掉。 – Dave
爲什麼猜測?編譯爲彙編('-S')並進行比較。 – NPE