精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

volatile、register和attribute關鍵字簡介

CHANBAEK ? 來源:頭條號芯片e棧 ? 作者:頭條號芯片e棧 ? 2023-03-23 10:45 ? 次閱讀

一、volatile關鍵字

(1)volatile作用

單片機中直接存取原始內存地址,防止編譯器的優化,導致聲明的變量未被執行。

(2)格式

poYBAGQbu22AK1A4AAAZtn73XGs980.png

(3)表達

pYYBAGQbu3qABnajAAAU2vplCAw203.png

注:如果編譯調試中,依舊存在程序被優化現象,可設置降低代碼優化等級。


pYYBAGQbu46AJeBXAAB0FQvr5XA694.png

二、register關鍵字

(1)register作用

這個關鍵字請求編譯器盡可能的將變量存在CPU內部寄存器中,而不是通過內存尋址訪問,以提高效率。

注:注意是盡可能,不是絕對。

poYBAGQbu6GATopHAAAXiddFtzo498.png

用法:為了提高精度,循環的次數越多越好,可以將循環的增量控制定義為寄存器變量register。

(2)格式

poYBAGQbu66ACSw4AAAZUrrh3RU634.png

(3)表達

poYBAGQbu7yAEKGAAAAS783ZCHk981.png

(4)例子

poYBAGQbu8iAfy5ZAAAOryF5flQ727.png

三、attribute關鍵字

(1)attribute作用用于給聲明的數組、變量,指定具體的存儲地址位置。

注:①attribute是用來指定變量或結構位域的特殊屬性,該關鍵字后的雙括弧中的內容是屬性說明。

②at關鍵字可以用來設置變量的絕對地址,也就是通過這個關鍵字,指定某個變量處于內存里面的某個給定的地址。

(2)格式

poYBAGQbu9SAPoqQAAAjIHnNx98870.png

(3)表達

pYYBAGQbu-GAdqmqAAAnrQODK0U806.png

指的是,將 array數組的首地址設定為0x0800C000.

注:該聲明不可用于函數內的局部變量/形式參數。(函數內局部變量/形式參數,在函數調用時才聲明入棧,調用結束后,會被出棧,無法指定具體地址)


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6023

    文章

    44376

    瀏覽量

    628385
  • 調試
    +關注

    關注

    7

    文章

    551

    瀏覽量

    33763
  • Register
    +關注

    關注

    0

    文章

    36

    瀏覽量

    13904
  • 關鍵字
    +關注

    關注

    0

    文章

    37

    瀏覽量

    6882
  • volatile
    +關注

    關注

    0

    文章

    44

    瀏覽量

    12980
收藏 人收藏

    評論

    相關推薦

    C語言關鍵字volatile的用法

    許多程序員都無法正確理解C語言關鍵字volatile,這并不奇怪。因為大多數C語言書籍通常都是一兩句一帶而過,本文將告訴你如何正確使用它。
    發表于 04-11 09:35 ?2397次閱讀

    Linux內核關鍵字講解

    gcc __attribute__ 關鍵字用來給 函數、變量、數據類型設置屬性。
    發表于 06-08 10:57 ?732次閱讀

    c語言中 volatile _Bool 關鍵字說明

    volatile 關鍵字呢?volatile總是與優化有關,編譯器有一種技術叫做數據流分析,分析程序中的變量在哪里賦值、在哪里使用、在哪里失效,分析結果可以用于常量合并,常量傳播等優化,進一步可以消除一些代碼
    發表于 01-06 10:46

    請問關鍵字volatile該什么時候用?

    這東西的概念我懂,但是實際編程時,關鍵字volatile該什么時候用啊,求大神來點經驗之談!
    發表于 04-28 09:06

    【原創分享】單片機編程關鍵字volatile

    很多人來說,根本沒見過這個關鍵字,不知道它的存在。也有很多人知道它的存在,根本沒用過,我對它有種“楊家有女初長成,養在深閨無人識”的感覺。那么volatile關鍵字到底是什么意思呢,怎么用呢?1
    發表于 06-29 11:17

    C語言volatile關鍵字詳解 精選資料分享

    1.volatile和什么有關百度翻譯是這樣子翻譯volatile的:圖1-1 百度翻譯volatile截圖volatile屬于C語言的關鍵字
    發表于 07-22 07:20

    volatile關鍵字應用場景及示例

    volatile關鍵字1.應用場景2.示例1.應用場景volatile關鍵字分析,往往應用在三種場合1)多線程編程共享全局變量的時候,該全局變量要加上
    發表于 08-24 07:21

    C語言volatile關鍵字之間有什么關系?

    C語言volatile關鍵字之間有什么關系?
    發表于 11-11 07:01

    嵌入式程序員常見的const、static、volatile關鍵字

    嵌入式程序員const、static、volatile三個關鍵字的樸素認識摘要:在C語言程序編寫中,const、static關鍵字是比較熟悉的,volatile
    發表于 12-21 06:08

    C語言中的volatile關鍵字

    volatile關鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素更改。
    發表于 05-27 09:32 ?3245次閱讀

    關于volatile關鍵字對編譯器優化的影響

    volatile關鍵字對編譯器優化的影響
    的頭像 發表于 02-28 17:15 ?2825次閱讀

    一般什么時候需要使用volatile關鍵字

    想必大家平時都見過volatile關鍵字,可是大家知道什么時候需要使用volatile關鍵字嗎?
    的頭像 發表于 12-24 17:29 ?939次閱讀

    【嵌入式】C語言中volatile關鍵字

    volatile06. 附錄01. volatile概述volatile是C語言中的一個關鍵字。將變量定義為volatile就表示告訴編譯器
    發表于 10-21 10:21 ?6次下載
    【嵌入式】C語言中<b class='flag-5'>volatile</b><b class='flag-5'>關鍵字</b>

    C語言中__attribute__ 關鍵字的用法

    嵌入式開發,離不開 C 語言,C語言中有很多語法會直接或間接影響你代碼的質量,下面就來講講__attribute__ 關鍵字的用法。 1. 什么是 __attribute__ GNU C 編譯器
    發表于 10-19 09:06 ?1.1w次閱讀

    一文詳解volatile關鍵字

    volatile 是易變的、不穩定的意思。和const一樣是一種類型修飾符,volatile關鍵字修飾的變量,編譯器對訪問該變量的代碼不再進行優化,從而可以提供對特殊地址的穩定訪問。
    的頭像 發表于 02-15 11:54 ?969次閱讀
    一文詳解<b class='flag-5'>volatile</b><b class='flag-5'>關鍵字</b>