一、volatile關(guān)鍵字
(1)volatile作用
從單片機中直接存取原始內(nèi)存地址,防止編譯器的優(yōu)化,導(dǎo)致聲明的變量未被執(zhí)行。
(2)格式
(3)表達
注:如果編譯調(diào)試中,依舊存在程序被優(yōu)化現(xiàn)象,可設(shè)置降低代碼優(yōu)化等級。
二、register關(guān)鍵字
(1)register作用
這個關(guān)鍵字請求編譯器盡可能的將變量存在CPU內(nèi)部寄存器中,而不是通過內(nèi)存尋址訪問,以提高效率。
注:注意是盡可能,不是絕對。
用法:為了提高精度,循環(huán)的次數(shù)越多越好,可以將循環(huán)的增量控制定義為寄存器變量register。
(2)格式
(3)表達
(4)例子
三、attribute關(guān)鍵字
(1)attribute作用用于給聲明的數(shù)組、變量,指定具體的存儲地址位置。
注:①attribute是用來指定變量或結(jié)構(gòu)位域的特殊屬性,該關(guān)鍵字后的雙括弧中的內(nèi)容是屬性說明。
②at關(guān)鍵字可以用來設(shè)置變量的絕對地址,也就是通過這個關(guān)鍵字,指定某個變量處于內(nèi)存里面的某個給定的地址。
(2)格式
(3)表達
指的是,將 array數(shù)組的首地址設(shè)定為0x0800C000.
注:該聲明不可用于函數(shù)內(nèi)的局部變量/形式參數(shù)。(函數(shù)內(nèi)局部變量/形式參數(shù),在函數(shù)調(diào)用時才聲明入棧,調(diào)用結(jié)束后,會被出棧,無法指定具體地址)
-
單片機
+關(guān)注
關(guān)注
6061文章
44868瀏覽量
646045 -
調(diào)試
+關(guān)注
關(guān)注
7文章
603瀏覽量
34484 -
Register
+關(guān)注
關(guān)注
0文章
36瀏覽量
14108 -
關(guān)鍵字
+關(guān)注
關(guān)注
0文章
37瀏覽量
7022 -
volatile
+關(guān)注
關(guān)注
0文章
46瀏覽量
13254
發(fā)布評論請先 登錄
C語言關(guān)鍵字volatile的用法
Linux內(nèi)核關(guān)鍵字講解
c語言中 volatile _Bool 關(guān)鍵字說明
請問關(guān)鍵字volatile該什么時候用?
【原創(chuàng)分享】單片機編程關(guān)鍵字之volatile
C語言volatile關(guān)鍵字詳解 精選資料分享
volatile關(guān)鍵字應(yīng)用場景及示例
C語言中的volatile關(guān)鍵字
關(guān)于volatile關(guān)鍵字對編譯器優(yōu)化的影響
一般什么時候需要使用volatile關(guān)鍵字
【嵌入式】C語言中volatile關(guān)鍵字

C語言中__attribute__ 關(guān)鍵字的用法
一文詳解volatile關(guān)鍵字

評論