|
ZMRGHY 發表于 2021-8-16 21:13 沒必要這么復雜的 你在每個頭文件中加入如下格式,然后你直接引用頭文件就行了,系統會自動識別的 #ifndef __XXX_H__ #define __XXX_H__ //頭文件具體內容 /******************************/ /******************************/ #endif /*__XXX_H__*/ |
| 這些行是選擇性的頭文件包含,以避免包含錯誤的頭文件。 |
ZMRGHY 發表于 2021-8-16 21:13 你寫的大意是對的,但是放的位置不對,應該放到頭文件里面,這樣c程序就不用寫了。 |
sustlixin 發表于 2021-8-16 08:15 是的作用就是為了防止頭文件重復包含。。。。 這個代碼是我寫的。。。。 記得以前看過防止頭文件重復包含的C語言代碼。。。好想不是這樣寫的。。。。就是想不起來了。。。 你知不知道,其它防止頭文件重復包含書寫方式呀??? |
| 防止頭文件被重復引用,一般創建的.h文件會自帶 |
|
#ifndef _DS18B20_H_ //如果沒有定義_DS18B20_H_就編譯以下的代碼,如果定義了_DS18B20_H_,那么,到#endif之間的所有代碼都沒有用了 #define _DS18B20_H_ //這就是定義_DS18B20_H_ 這樣就達到了防止重復包含頭文件的效果了, 重復包含會編譯出錯,但好幾個子程序都要用到包含某個頭文件,#ifndef加#endif組合就是可以讓多個子程序包含同一個頭文件,又不會報錯的 但是,你圈圈里面的,我感覺沒有意義,因為#include <REG52.H> 頭文件里面已經有#ifndef加#endif組合了 我用的時候是沒有加這個,但并沒有報錯,功能也正常 |
| 防止頭文件重復包含 |
| 沒什么問題,這是條件預編譯,就跟if的用法差不多,不過是預編譯的時候判斷一下,有沒有include 相關的頭文件,沒有就include一遍 |