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

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

C51中頭文件的寫法

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

一、頭文件位置

#include <xxx.h> 優先在系統默認路徑查找頭文件

#include“xxx.h”有現在項目路徑查找頭文件

二、#ifndef和#endif

通常形式為 

#ifndef _xxxx_h_

#define _xxxx_h_

  .........(頭文件具體內容)

#endif

這樣的寫法表示,如果_xxxx_h_還沒有被定義,那么頭文件內容將被執行,如果已經定義過了,那么頭文件內容就不執行了。作用在于,如果某頭文件被不同c文件同時調用,那么里面的內容不至于因為重復定義而出錯,因為不管調用幾次頭文件,其內容只有在第一次出現時被執行,同時定義一個_xxxx_h_,以后再次調用時,頭文件內容被忽略。

三、函數和宏

假設有如下文件  main.c   aaa.c   aaa.h  

其中,,aaa.c里面有一個宏X,一個函數Y,且函數Y中使用了X

            aaa.h里面申明了函數Y

            main.c里包含了aaa.h文件,調用了函數Y,但沒有定義宏X

那么,編譯時不會出錯,這表示,函數Y中出現宏X時,它會在自身所在的c文件,即aaa.c里面查找宏

變化1:如上情況不變,但是在main.c里面將整個函數Y重新寫一遍

            編譯出錯,提示 “error C202: 'X': undefined identifier”

            說明此時函數Y在main.c文件中找不到宏X,因此提示為未定義的符號

變化2:將aaa.c中的宏剪切到main.c,其余情況不變

            編譯出錯,同樣提示“error C202: 'X': undefined identifier”

結論: 函數中如果出現宏,那么該函數能且只能在其自身所在的c文件中查找該宏,如果二者不在同個c文件,必然出錯          

關閉窗口

相關文章

主站蜘蛛池模板: av网站免费观看 | 久久伊人精品一区二区三区 | 国产区在线观看 | 不用播放器看的av | 99精品视频在线 | 国产日韩欧美精品 | 日韩在线一区二区三区 | 国产视频精品免费 | 天天操夜夜操 | 日韩精品在线免费观看 | 日韩精品在线一区 | 午夜日韩视频 | 欧美一级二级在线观看 | 午夜天堂精品久久久久 | 日韩亚洲一区二区 | 高清欧美性猛交xxxx黑人猛交 | 欧美亚洲国产一区二区三区 | 亚洲色视频 | 日本一区二区三区免费观看 | 亚洲美女视频 | 亚洲综合在线一区 | 国产精品久久久久无码av | 精品国产青草久久久久96 | 亚洲一区二区久久久 | 日韩伦理电影免费在线观看 | 久久国| 久草资源在线 | 精品久久久久久一区二区 | 精品久久久久久亚洲精品 | 久久av一区二区 | 国产成人在线一区 | 羞羞涩涩在线观看 | 亚洲欧美日韩在线 | 日韩精品在线观看一区二区 | 国产 欧美 日韩 一区 | 亚洲综合在 | 亚洲一区二区三区四区五区午夜 | 日本欧美国产在线观看 | 日韩精品久久久久久 | 免费精品 | 国产精品区二区三区日本 |