C语言 define 防止头文件重复包含 - C语言零基础入门教程
目錄
- 一.頭文件重復包含編譯器報錯
- 1.簡單的理解頭文件重復包
- 2.老流氓的理解頭文件重復包
- 二.通過宏定義解決頭文件重復包含
- 1.通過 #ifndef / #define 解決頭文件重復包含
- 2.通過 #pragma once 解決頭文件重復包含
- 三.通過插件 Visual Assist 設置快捷鍵解決文件重復包含
- 1.安裝插件 Visual Assist
- 2.打開 VS,找到 VAssistX 選項
- 3.設置模板內容
- 4.點擊 OK,設置完成
- 5.快捷鍵測試
- 四.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.頭文件重復包含編譯器報錯
1.簡單的理解頭文件重復包
假如頭文件里有一行
int a=1;包含兩次就變成了
int a=1; int a=1;于是變量重復定義,編譯器就會報錯,函數同理;
2.老流氓的理解頭文件重復包
你用過的套套肯定不會翻過來再用一遍;
二.通過宏定義解決頭文件重復包含
1.通過 #ifndef / #define 解決頭文件重復包含
#ifndef __XXX_H__ #define __XXX_H__int a=1;#endif上面的偽代碼如下:
如果(沒有定義宏__XXX_H__) {那么直接定義宏__XXX_H__定義變量a 并且賦值為 1 } 結束程序- 假如第一次包含時,由于沒有定義宏 __XXX_H**,所以做了兩件事,定義宏 __XXX_H**,然后定義 int a = 1;
- 假如第二次包含時,由于已經定義宏 __XXX_H__,所以啥都不做;
- 假如第 N 次包含時,由于已經定義宏 __XXX_H__,所以啥都不做;
- 整個過程,無論頭文件被包含多少次,變量 a 只被定義一次,不會有重復包含重復定義的問題存在!
2.通過 #pragma once 解決頭文件重復包含
#pragmaonce 是上述方式的簡寫,好處是再也不會有兩個頭文件因為使用了同樣的 __XXX_H__ 而被忽略了
#pragmaonce... ... // 聲明、定義語句三.通過插件 Visual Assist 設置快捷鍵解決文件重復包含
雖然上面兩種方式都能解決 C/C++ 頭文件重復包含沖突問題,但是還有一種更快捷的方法,直接通過 Visual Assist 設置快捷鍵完成,操作步驟如下:
1.安裝插件 Visual Assist
詳細的安裝流程請參考:安裝 Visual Studio 插件 Visual Assist
2.打開 VS,找到 VAssistX 選項
選擇頂部菜單 VAssistX -> Code Generation and Refactoring -> Edit Refactoring Snippets
3.設置模板內容
選擇 Type –> All by shortcut,新建一個快捷方式:** //t ** (快捷鍵:僅供參考,怎么順手怎么來)
頭文件模板內容如下:
#ifndef __$FILE_BASE_UPPER$_H__ //表示根據文件名字定義宏 #define __$FILE_BASE_UPPER$_H__ $end$ #endif //__$FILE_BASE_UPPER$_H__4.點擊 OK,設置完成
5.快捷鍵測試
打開 vs,創建任意工程,添加頭文件,使用快捷鍵 //t,例如,我項目添加了一個 test.h 文件,然后使用快捷鍵 //t,如下:
#ifndef __TEST_H__ #define __TEST_H__#endif //__TEST_H__推薦使用方法三,因為 Visual Assist 設置快捷鍵操作起來更方便快捷, Visual Assist 插件不僅能解決頭文件重復包含問題,還能通過快捷鍵設置文件版權信息和作者信息,參考文章:Visual Studio 設置文件版權信息
四.猜你喜歡
未經允許不得轉載:猿說編程 ? C 語言 define 防止頭文件重復包含
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C语言 define 防止头文件重复包含 - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端调试讲解
- 下一篇: BugkuCTF-WEB题MD5