欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于C++的.cpp文件運(yùn)行全過程

 更新時(shí)間:2023年02月24日 09:05:55   作者:雨落水漲next  
這篇文章主要介紹了C++的.cpp文件運(yùn)行全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

.cpp文件運(yùn)行全過程

今天來寫一寫.cpp文件是怎么一步一步變成.exe文件的,以便更好的理解C++內(nèi)核

第一步

先用編輯器編輯好源代碼文件,也就是.cpp文件

int main() {}

然后是對(duì)該文件進(jìn)行預(yù)處理,也就是常用的三個(gè)預(yù)處理命令(此三者嚴(yán)格意義上不算是C++的語句):

文件包含:將該文件內(nèi)容合并到源代碼中

#include <iostream>

條件編譯:有時(shí)候一個(gè)頭文件可以引入另外一個(gè)頭文件,條件編譯防止頭文件的重復(fù)包含和編譯

#ifndef __PERSON_H__?? ??? ?// 如果這個(gè)頭文件沒有被包含
#define __PERSON_H__?? ??? ?// 就包含這個(gè)頭文件并且定義這個(gè)變量
#endif

宏定義:宏不占內(nèi)存,編譯器在編譯之前對(duì)源代碼做一些文本替換的處理

#define MAXSIZE 100

第二步

對(duì)該文件中的內(nèi)容進(jìn)行詞法、語法分析,然后轉(zhuǎn)化成二進(jìn)制文件(.obj&.o文件后綴)

之后把二進(jìn)制文件(.obj&.o文件后綴)和靜態(tài)鏈接庫(.lib&.a文件后綴)進(jìn)行合成為.exe文件

靜態(tài)鏈接庫:可以看做是自己寫的.h文件生成的.lib(Windows)或者.a(Linux&Unix)文件

第三步

運(yùn)行.exe文件,并在過程中加載動(dòng)態(tài)鏈接庫(.dll文件后綴)

動(dòng)態(tài)鏈接庫:通過外部引入的.dll配置文件,如數(shù)據(jù)庫,如opencv等等

附:

靜態(tài)鏈接庫比動(dòng)態(tài)鏈接庫更耗內(nèi)存,靜態(tài)鏈接庫是由多個(gè)文件組成的,運(yùn)行過程中,分別在內(nèi)存中開辟不同的內(nèi)存空間;而動(dòng)態(tài)內(nèi)存都只在一塊內(nèi)存中進(jìn)行存儲(chǔ)

在一個(gè)工程中如何單獨(dú)運(yùn)行一個(gè)cpp文件

在我們使用visual studio 2019的時(shí)候,一個(gè)工程下面會(huì)包含很多源文件(.cpp),如何單獨(dú)運(yùn)行其中一個(gè),我這里有兩種方式:

第一種是禁用其它的.cpp

  • 第一步:在.cpp文件右擊選擇屬性
  • 第二步:在從生成中排除選擇是

  • 第三步:點(diǎn)擊確認(rèn)

將要除運(yùn)行外的其它.cpp文件禁用。

第二種是注釋

將除運(yùn)行外的其它.cpp文件中的main()函數(shù)注釋掉,這樣就可以只運(yùn)行一個(gè).cpp文件。

這兩種方式僅針對(duì)于剛剛開始學(xué)習(xí)C++的人。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論