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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

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

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月19日   【字體:

#pragma //提供額外信息的標準方法,可用于指定平臺

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

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

 

#pragma GCC poison <</SPAN>標識> 若出現<</SPAN>標識> 則產生錯誤

 

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

 

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

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

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

下面代碼試試:

Vi pragma.c vi編譯器

#include

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

 

Int main(void){

 

 

Return 0;

 

}

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

Gcc pragma.c

提示

 

Pragma.c:2 警告:當前文件早于dep.c

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

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

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

什么都沒有

 

關閉窗口

相關文章

主站蜘蛛池模板: 亚洲精品一区二区 | 欧美激情视频一区二区三区在线播放 | 自拍偷拍亚洲视频 | 久久久亚洲成人 | 国产一级毛片视频 | 91成人免费看 | 欧美亚洲视频 | 国产精品免费av | 精品一区二区三区四区 | 日本人做爰大片免费观看一老师 | 91精品国产综合久久精品图片 | 一区二区三区中文字幕 | 日本黄色大片免费看 | 欧美成人精品在线观看 | 91麻豆精品国产91久久久久久久久 | 亚洲视频第一页 | 天堂在线www | 亚洲欧美在线一区 | 国产免费一区二区 | 精品久久香蕉国产线看观看亚洲 | 欧美日韩亚洲国产 | 久久激情网 | 免费一区二区 | 日韩成人在线播放 | 成人性视频免费网站 | 国产亚洲欧美日韩精品一区二区三区 | 亚洲成人久久久 | 国产97碰免费视频 | 九九亚洲 | 99精品一区| www.国产精| 日韩免费福利视频 | 国产精品二区三区 | 精品日韩一区二区 | 成人激情视频 | 成年人视频在线免费观看 | 亚洲成人日韩 | 日韩第一区 | 亚洲欧洲综合av | 五月婷婷色 | 97色综合|