91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++代碼怎么優化

發布時間:2021-11-30 16:30:03 來源:億速云 閱讀:124 作者:iii 欄目:互聯網科技

這篇文章主要講解了“C++代碼怎么優化”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++代碼怎么優化”吧!

使用模板的特化或者偏特化技術可以指定在使用特定的模塊時進行特殊優化。例如,有些MCU是將IO空間和存儲空間分開的,在IO空間中操作是有特殊的指令的,并且可以提高速度,這時可以通過偏特化設備模板來優化這些設備。下面以AVR中的atmega系列芯片為例:

首先定義端口模板(在avr中端口寄存器一般都位于IO空間,所以使用端口設備舉例)

template<typename TReg, volatile TReg* r, byte mask, typename TOth = nullptr_t>
class Port {
public:
  static void config(const byte mode){/*code here*/}
  static void write(const bit hl) {/*code here*/}
  /*... other members*/
};

其次定義優化的模板

template<volatile byte* PIN, volatile byte* PORT, volatile byte* DDR, byte N>
class _Port {
public:
        __attribute__((always_inline, optimize("O3")))
        static void config(const byte mode) {
           /* code here */
        }
        /* other member */
}

第三,聲明片特化或者全特化類

template<>
class Port<m128::PORTA_t, &m128::PORTA, P0> :
        public m128::_Port<&registers::PINA, &registers::PORTA, &registers::DDRA, 0> {
};

這樣,當使用端口A時編譯器就可以使用優化后的代碼了。

感謝各位的閱讀,以上就是“C++代碼怎么優化”的內容了,經過本文的學習后,相信大家對C++代碼怎么優化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

日土县| 遵化市| 阿巴嘎旗| 神农架林区| 南平市| 宝清县| 中阳县| 育儿| 罗平县| 陆河县| 奉贤区| 平武县| 健康| 东阿县| 当雄县| 桃园市| 衡东县| 镇巴县| 莫力| 德保县| 宜兴市| 应城市| 祁阳县| 铜梁县| 商丘市| 江津市| 铜山县| 喀喇沁旗| 威宁| 彭山县| 鄱阳县| 靖江市| 日土县| 合肥市| 洛南县| 平舆县| 成安县| 稻城县| 裕民县| 鹤壁市| 四川省|