C++基礎11:變量的命名約定 頭文件的問題 程序的預處理編譯鏈接過程

一.變量的命名約定

由于windows程序很長慷妙,編程人員在一段時間后自己可能忘記所定義變量的含義僻焚。為了幫助記憶和區(qū)分變量,微軟創(chuàng)建了windows的命名約定膝擂,稱為匈牙利表示法虑啤。匈牙利表示法提供了一組前綴字符,如下(彩色表示常用的):

前綴 含義
a 數(shù)組
b 布爾值
by 無符號字節(jié)
c 字節(jié)
cb 字節(jié)記數(shù)
rgb rgb顏色長整型
cx,xy 計算x和y長度的短整形
fn 函數(shù)
h 句柄
i 整數(shù)
m_ 成員變量
n 短整形
np 近指針
p 指針
l 長整型
lp 長指針
s 字符串
sz 以零結(jié)束的字符串
tm 正文大小
w 無符號整型
x架馋,y 表示x或y坐標的無符號整形

二.頭文件

1.包含頭文件方式:

#include<iostream.h>

#include"myselfdefine.h"

2.<>和“”有什么區(qū)別呢狞山?

1??他們的區(qū)別在于編譯器搜索頭文件的順序不同:

<>表示從系統(tǒng)目錄下開始搜索,再搜索PATH環(huán)境變量所列出的目錄叉寂,不搜索程序的當前目錄萍启。

“”表示先從當前目錄搜索,然后搜索系統(tǒng)目錄办绝,再是PATH環(huán)境變量列出的目錄
2??防止頭文件被重復引用

引申[1]

3.頭文件被重復包含的解決辦法

如果一個頭文件伊约,被一個工程的很多類所包含姚淆,那么編譯器會報錯:頭文件被重復定義孕蝉。兩種解決辦法:

第一種

使用#ifndef#define#endif

[cpp] 
#ifndef HAVEDDEFINE  
#define HAVEDDEFINE  
class animal  
{  
     public:  
     animal();  
     ~animal();  
}  
#endif  

在類第一次包含此頭文件,判斷是否還沒定義HAVEDDEFINE腌逢,如果沒有返回為真降淮,就往下執(zhí)行,定義#define HAVEDDEFINE搏讶,然后執(zhí)行到#endif結(jié)束佳鳖;第二次包含此頭文件,判斷是否還沒定義HAVEDDEFINE媒惕,因為已經(jīng)定義了HAVEDDEFINE系吩,條件判斷返回為假,就直接跳到#endif結(jié)束妒蔚,不執(zhí)行中間的代碼穿挨。

第二種

使用#pragma once

[cpp] 
#pragma once  
class animal  
{  
     public:  
     animal();  
     ~animal();  
}  

編譯器執(zhí)行到pragma once會只包含一次

三.程序的編譯鏈接過程

**在編譯時 **:

1.由預處理器對預處理指令(#include,#define和#if)進行處理肴盏,結(jié)果是在內(nèi)存中輸出翻譯單元(一種臨時文件)

2.由編譯器接受預處理的輸出科盛,將源代碼轉(zhuǎn)換成包含機器語言指令的三個目標文件(擴展名為obj的文件)

注意:在以上兩個編譯的過程中,頭文件不參與編譯

** 在鏈接時**:

3.將目標文件和你所用到的c++類庫文件(.lib)一起鏈接生成可執(zhí)行程序exe

如下圖:


C++基礎.png

  1. include 與 import的區(qū)別 一般來說菜皂,在導入 Objective-C 頭文件的時候使用 #import贞绵,包含 C 頭文件時使用 #include ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市恍飘,隨后出現(xiàn)的幾起案子榨崩,更是在濱河造成了極大的恐慌谴垫,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜡饵,死亡現(xiàn)場離奇詭異弹渔,居然都是意外死亡,警方通過查閱死者的電腦和手機溯祸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門肢专,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人焦辅,你說我怎么就攤上這事博杖。” “怎么了筷登?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵剃根,是天一觀的道長。 經(jīng)常有香客問我前方,道長狈醉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任惠险,我火速辦了婚禮苗傅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘班巩。我一直安慰自己渣慕,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布抱慌。 她就那樣靜靜地躺著逊桦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抑进。 梳的紋絲不亂的頭發(fā)上强经,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音寺渗,去河邊找鬼匿情。 笑死,一個胖子當著我的面吹牛户秤,可吹牛的內(nèi)容都是我干的码秉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼鸡号,長吁一口氣:“原來是場噩夢啊……” “哼转砖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤府蔗,失蹤者是張志新(化名)和其女友劉穎晋控,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姓赤,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡赡译,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了不铆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝌焚。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖誓斥,靈堂內(nèi)的尸體忽然破棺而出只洒,到底是詐尸還是另有隱情,我是刑警寧澤劳坑,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布毕谴,位于F島的核電站,受9級特大地震影響距芬,放射性物質(zhì)發(fā)生泄漏涝开。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一框仔、第九天 我趴在偏房一處隱蔽的房頂上張望舀武。 院中可真熱鬧,春花似錦存和、人聲如沸奕剃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柿顶,卻和暖如春茄袖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嘁锯。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工宪祥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人家乘。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓蝗羊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親仁锯。 傳聞我的和親對象是個殘疾皇子耀找,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容

  • C中的預編譯宏定義 2009-02-10 作者: infobillows 來源:網(wǎng)絡 在將一個C源程序轉(zhuǎn)換為可執(zhí)行...
    白水灬煮一切閱讀 1,607評論 0 5
  • 目錄 一.預處理的工作方式... 3 1.1.預處理的功能... 3 1.2預處理的工作方式... 3 二.預處理...
    朱森閱讀 1,378評論 0 2
  • 來自陳浩的一片老文,但絕對營養(yǎng)。 示例工程:3 個頭文件*.h野芒,和 8 個 C 文件*.c蓄愁。 初 編譯過程,源文件...
    周筱魯閱讀 4,703評論 0 17
  • 親愛的坤寶,離開媽媽183天了摇锋,整整半年丹拯,你去了哪里?還過得好嗎荸恕?有沒有想過我咽笼?有沒有回過家? 15年前的今天媽媽...
    坤寶的媽媽閱讀 615評論 0 0
  • 讀不讀書真的無所謂嗎戚炫? 齋藤孝教授在《閱讀的力量》一書里面給出了答案剑刑,讀書不是無所謂的,而是必須要讀的双肤。為什么施掏?因...
    隴西讀書與寫作閱讀 621評論 0 4