程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> cpp-關於C++多文件結構中條件編譯的問題!大神快來幫幫我!!

cpp-關於C++多文件結構中條件編譯的問題!大神快來幫幫我!!

編輯:編程綜合問答
關於C++多文件結構中條件編譯的問題!大神快來幫幫我!!

3個文件:
main.cpp;
a.cpp;
a.h;
在main.cpp中:
#include "a.h"
在a.cpp中:
#include "a.h"
在a.h中:
#ifndef A_H
#define A_H
問題是A__H這個標識符在整個程序中是唯一的嗎,還是每個cpp都有一個不同的A____H,如果是前者的話,那麼實際上
a.h只在main.cpp中包含了一次,但是我如果把a.cpp中#include“a.h”注釋掉的話,程序會報錯,沒有定義相關的函數。
IDE是codeblocks

最佳回答:


這個條件編譯宏是全局唯一的,加這個判斷是為了防止頭文件重復包含,為什麼要防止這個呢,因為在不同的編譯單元裡,如果有重復聲明或定義,那鏈接器就會報錯。但是你在a.cpp裡面還是要包含a.h,因為你得知道a.h裡面聲明的類型的內存結構

yxjie2
qq_17041257
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved