久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

#pragma 在嵌入式中的講解和理解

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月19日   【字體:

#pragma //提供額外信息的標(biāo)準(zhǔn)方法,可用于指定平臺

這個標(biāo)記其實是很復(fù)雜的,它是什么特點呢,它是根據(jù)你的編譯平臺,就是根據(jù)你所用的不同的編譯器然后你再不同的環(huán)境下,它可以有不同的表達(dá),它能干好多不同的事,都是這一個標(biāo)記,那么它取決于你后寫什么東西。例如我們使用GCC的編譯器呢它就有這么幾種用法:

#pragma GCC dependency<</SPAN>文件> unix_c_01.c.txt 若《文件》比此文件新 則產(chǎn)生警告

 

#pragma GCC poison <</SPAN>標(biāo)識> 若出現(xiàn)<</SPAN>標(biāo)識> 則產(chǎn)生錯誤

 

#pragma pack( 1/2/4/8) 按1、2、4、8字節(jié)對齊補(bǔ)齊

 

Dependency 依賴的意思意思就是說我的當(dāng)前的文件,正在編譯的文件它要依賴于《文件》,就是說你后面寫的文件比你正在編譯的文件要新的話,就是文件修改時間比它晚會給你一個警告,就是說我的編譯文件依賴于寫的文件但是你的依賴文件改了而在編譯的文件并沒有同步的更新,就有可能產(chǎn)生各種各樣的問題,就給個警告一旦發(fā)現(xiàn)后面的文件比當(dāng)前文件新就給個警告,

Poison 毒藥的意思 、就是說如果我代碼中出現(xiàn)這樣的標(biāo)示就給個錯誤 ,比如go to 啊、因為goto有風(fēng)險 就把goto 定義成毒藥 如果有程序員膽敢寫goto就給個錯誤,編譯就報錯。

Pack 這是指定結(jié)構(gòu)體 或是類對象的對齊方式因為結(jié)構(gòu)體里面有個對齊補(bǔ)齊的問題 32位下缺省是4字節(jié)對齊,如果我不想用這種方式,我想2字節(jié)對齊補(bǔ)齊或者我想1字節(jié)對齊補(bǔ)齊那么就用這方式。

下面代碼試試:

Vi pragma.c vi編譯器

#include

#pragma GCC dependency “dep.c” 依賴這個文件

 

Int main(void){

 

 

Return 0;

 

}

然后我們 touch dep.c 創(chuàng)建一個文件 那么這個文件就比我們pragma.c 要新 因為比它晚創(chuàng)建

Gcc pragma.c

提示

 

Pragma.c:2 警告:當(dāng)前文件早于dep.c

這條警告就來自于#pragma GCC dependency “dep.c”

比如:touch pragma.c 時間就比dep.c 要晚了

這個時候在編譯就不給警告了 Gcc pragma.c

什么都沒有

 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 欧美日韩在线一区二区三区 | 手机在线免费看av | 日本精品视频 | 日本中文字幕视频 | 亚洲视频不卡 | aaa成人 | 国产小视频在线播放 | 国产精品日韩在线 | 欧美精品在线播放 | 亚洲激情视频在线 | 中国一级黄 | 亚洲综合五月天婷婷丁香 | 免费a在线 | 国产精品羞羞答答 | 欧美在线中文字幕 | 久久久一级片 | 日本国产一区 | 成人9ⅰ免费影视网站 | 久久国产影院 | 免费在线黄色网址 | 日韩欧美不卡 | 亚洲av毛片成人精品 | 91操操操 | 一区二区三区成人 | 欧美在线视频免费 | 免费在线成人 | 日产av在线 | 亚洲精品乱码久久久久久蜜桃91 | www.午夜| 欧美精品久久久久久久多人混战 | 日韩一区二区三区在线播放 | 黄色欧美视频 | 天天操夜夜摸 | 在线看av网址 | 爱福利视频网 | 日韩午夜在线 | 欧美在线天堂 | 黄网站免费观看 | 中文字幕在线视频观看 | 日本不卡高字幕在线2019 | 亚洲天堂男人天堂 |