徹底搞明白win32程式設計 .h標頭檔案和.cpp原始檔關係
阿新 • • 發佈:2019-02-09
一.想把專案的全域性引數都放在一個檔案裡,好方便對初始值修改。
步驟:
1.新建一個.h標頭檔案,只宣告引數為全域性變數(注意是宣告!!!)。
2.一定要extern,這才是宣告全域性變數 而且 一定不能賦初值
extern int a;
- 根據C++標準的規定,一個變數宣告必須同時滿足兩個條件,否則就是定義:
(1)宣告必須使用extern關鍵字;
(2)不能給變數賦初值; - 標頭檔案請不要定義任何變數
3.新建一個.cpp檔案,包含該標頭檔案,定義變數(可賦初值)。
int a=10;
把宣告該變數的標頭檔案setting_parameter.h包含進去
我這裡為什麼#include它變成了註釋,是因為vs 2013有一個stdafx.h標頭檔案,讓你把所有你自己要用的標頭檔案 放在stdafx.h裡。
這樣你有多個cpp檔案要使用定義的引數時,就不用在每一個cpp裡包含setting_parameter.h檔案了。
特別是還有可能會有多個頭檔案要包含,那樣就需要在每一個cpp包含每一個頭檔案。
而放在stdafx.h裡,只需要在每個cpp裡包含stdafx.h一次就行了。
如下:
二.想把專案的函式都放在一個檔案裡,好方便對函式修改。
步驟:
1.新建一個.h標頭檔案,只宣告函式(注意是宣告!!!)。
void jump(int x,int y);
2.新建一個.cpp檔案,包含該標頭檔案,完整實現函式
void jump(int x,int y)
{
.........
}
3.注意,在實現函式的時候,可能會用到庫函式和自己定義的引數,這個時候,應該把標頭檔案包含在stdafx.h裡,然後直接包含stdafx即可。
4.這時,你可能會想在main函式裡包含functions.cpp,好呼叫裡面的函式,其實是不用的。
應該在main函式裡包含functions.h,但是main裡面已經包含了stdafx.h,所以不用再做啥了,可以直接運行了。