您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“C++編譯環(huán)境分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
源程序作為解釋器輸入,解釋器可能會把程序轉(zhuǎn)換為內(nèi)部的合適的形式,以取得更大的運行速度。解釋器的工作更像人類自身的工作,它處理字符串,并賦于字符串以意義,常見的解釋程序都是腳本語言,如PHP、Perl、ASP和bash等等。
編譯程序
什么是編譯程序?編譯程序和解釋程序一樣,是程序運行的一種方式,但卻又與解釋程序是不同的運行方式。解釋程序是邊解釋邊執(zhí)行,而編譯程序是編譯之后多次執(zhí)行。比喻來說,我們像一條魚,解釋器會找來一條魚給你,而編譯器卻會把一個網(wǎng)給你,要魚的話自己捉去。
源程序是編譯器的輸入,編譯器把源程序經(jīng)過分析與處理最終轉(zhuǎn)換成一個可直接執(zhí)行的二進制程序。二進制程序是機器可以直接理解并執(zhí)行的指令與數(shù)據(jù)集,此時我們只需要簡單把程序裝載內(nèi)存,并把CPU的控制交給它就可以了。
一般來解釋程序會比編譯程序慢許多,因為解釋需要多次進行,而編譯卻只是一次進行,所以會省下許多時間。C++和C語言都典型的編譯程序,隨著計算機硬件的發(fā)展,現(xiàn)代的解釋型程序越來越成功和強大,并且已經(jīng)形成一個很強大的競爭。
C++編譯環(huán)境
C++是一種編譯程序,那么C++的源程序到C++二進制程序的轉(zhuǎn)換過程是由哪個工具來完成的呢?這個工具就是C++編譯器,正如上面據(jù)說的,C++編譯器讀取源程序,在經(jīng)過分析與處理之后生成可運行的二進制程序。
C++編譯器及相關(guān)工具構(gòu)成C++編譯環(huán)境,C++編譯環(huán)境可能還存在其它的工具,比如預處理器、編輯器、設(shè)計器等等。事實上存在非常多的編譯環(huán)境,這些編譯環(huán)境各不同,有的非常先進,有的可能注重易用性。
本手冊自始至終都使用GNU Compiler Collection(GCC)來完成我們工作,GCC是一組編譯器集合,它不僅有C++編譯器g++,還有其它的編譯器或解釋器。它是自由和開放,全世界的人都應該使用它,所以也就使用它了。
除了g++之外,還存在intel C++ compiler、IBM C++ compiler,當然還最臭名照著了Microsoft Visual C++。它們?nèi)齻€都商業(yè)軟件,intel公司關(guān)注自身平臺,所以它的編譯器可能只能運行在自身平臺之上,當然這種關(guān)注使得它在自身平臺有許多的優(yōu)勢,比如編譯出來的程序更快等。C++的最初創(chuàng)始人Bjarne Stroustrup維護了一個C++編譯器列表,大家可以過去看看。
在示例中,每個程序都非常簡單,在Linux中使用g++來完成編譯與測試。關(guān)于g++更多的內(nèi)容我們可能在以后的章節(jié)有所涉及,但是不會有大量篇幅,因為在這里講述的是C++,而不是g++。如果實在無法離開Windows,這里有一個替代方案。
可以下載并安裝Code::Blocks,它是一個跨平臺的IDE環(huán)境,此時你可以不得不先去熟悉這個IDE環(huán)境要編譯我們上一節(jié)寫作的“hello_world.cpp”程序,其實很簡單,只要我們在命令行中使用,
就可以了。在運行上述命令之后,將生成一個叫做“hello”的可執(zhí)行程序,為了要運行它,我們需要在命令行中使用: 這個命令就是運行剛才生成的程序的命令,注意在“hello”之前的“./”,這表示是當前目錄下的“hello”。
“C++編譯環(huán)境分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。