㈠ C++程序編譯後為什麼這么大
程序要執行當然不是只靠你寫的那兩行代碼,還需要好多庫,即使是很簡單的程序,你在VC++下按一下ALT+F7,選中Link就能看到了。編譯的時候這些庫也被包含到可執行文件當中,因此可執行文件較大。
Debug編譯後帶有源文件信息,因此可以調試,單步執行,而Release沒有這些信息,因此不能調試,但執行效率更高。
㈡ 大型c程序
1.支持樓上的。
2.#include當然只能寫.h,寫.c是錯誤的。
c文件之間如何聯系不用用戶管。編譯程序負責。
所有的c有時是可以寫到一個文件里的,不過為了清楚方便易懂,所以分成幾個文件來寫。
ps:源碼是否保密,能發給我一份,我看看?那個cl.exe,nmake.exe你指的是什麼?
*********************************************
我的郵箱[email protected]
㈢ 編譯程序所需要的時間和電腦的性能有關系么
有關系的
當需要編譯工程的復雜度一定的時候,電腦性能越好,編譯所需要時間越短;反之,則時間越長。
當電腦性能一定的時候,工程越復雜,則編譯所需要的時間越長;反之,則時間越短。
㈣ 編譯程序大多數時間花在什麼上
編譯程序大多數時間花在目標代碼生成。
編譯程序把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
編譯程序的基本功能是把源程序(高級語言)翻譯成目標程序。但是,作為一個具有實際應用價值的編譯系統,除了基本功能之外,還應具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人-機聯系等重要功能。
編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。
但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
㈤ c語言的編譯效率是最快的嗎
計算機不能直接理解高級語言,只能直接理解機器語言,所以必須要把高級語言翻譯成機器語言,計算機才能執行高級語言編寫的程序。翻譯的方式有兩種,一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高,但也不能一概而論,部分解釋型語言的解釋器通過在運行時動態優化代碼,甚至能夠使解釋型語言的性能超過編譯型語言。解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。解釋是一句一句的翻譯。編譯型與解釋型,兩者各有利弊。前者由於程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言,而一些網頁腳本、伺服器腳本及輔助開發介面這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。但隨著硬體的升級和設計思想的變革,編譯型和解釋型語言越來越籠統,主要體現在一些新興的高級語言上,而解釋型語言的自身特點也使得編譯器廠商願意花費更多成本來優化解釋器,解釋型語言性能超過編譯型語言也是必然的。
㈥ 可以簡單說說程序編譯的過程嗎
首先你要明白原來程序都是位元組碼
010101這樣的
其實就是通過某些編譯器將你語言的某些代碼
轉換成 010101 這些計算器所能看得懂的位元組碼
運行
㈦ 程序編譯總要很長時間,怎麼提高效率
採用模塊化開發, 不開發的就不引用, 這樣可大大加快編譯速度.
我們項目目前約70W行代碼, 純AS, 但開發各司其職, 最後統一builder
㈧ vs2010 編譯程序時間超長
(1) 機器內存太小,vs2010編譯時約需要200M物理內存;
(2)系統盤有問題,需要優化整理
㈨ 大型c++程序中使用類編譯速度慢 怎麼解決
應該不會一直增大的吧。一開始變的很大是正常的,因為VS2012裡面有關於資料庫的文件,這個文件就是幾十M呢。CPP文件不可能變大的,變大的話就不是代碼的問題了。
㈩ 從學C語言到成為專業的程序編輯員大概需要多長時間
成為一個程序員很簡單,0基礎的話培訓半年到一年就可以了。但是真正的高手大約要5年到10年的積累,這還是在悟性高毅力強的前提下。你執意要轉行的話就轉吧,前期痛苦點,堅持兩年就好了。我也是轉行的,不過是在大學開始自學的,那時候時間多。畢業後有參加的培訓,現在水平也不高,比起重點大學的學生來有種背景弱底子薄的感覺。但是沒關系,只要有毅力,他們那點基礎很容易補過來的。我在Windows下編程並且無比懷念著開源的Linux平台(曾經很愉快的培訓了一個月的Linux,太棒了)。等我Windows平台學的差不多了就轉到Linux上,現在不轉是考慮到畢竟要知己知彼。。。。跑題了。
這個順便幫你總結一下要學的東西:C語言對於程序員又如論語對於儒家弟子的重要性,一定要學好,這個過程要最少2年。萬事開頭難嘛。從語言層面上理解了計算機的工作方式後,學習一下計算機組成原理和操作系統的基本知識,弄明白指針內存、文件管理、設備管理(磁碟、顯示器、滑鼠鍵盤怎麼工作的得知道吧)。這樣最起碼算入門了。
然後根據愛好和研究方向學一門高級點的語音,C#和Java比較簡單,也比較廣泛,學的好找工作沒問題。真正博大精深的是C++,這不是一年兩年能搞定的。然後要從一個操作系統平台從新起步,比如Windows平台、Unix平台。首先要掌握的是操作系統的工作機制(對不同的人意義不同,對用戶要知道操作,對程序員要知道程序運行方式,對安全防護、操作系統程序員要知道更內核的東西)然後你的程序員生涯開始。。。
C#是基於.net framework框架的,Java是基於虛擬機的。這兩者都很成熟很強大,和C、C++一道是時下最流行的4種語言。學這兩門語言的同學是很幸福的,只是相對C、C++程序員來說。你可以這么理解:C#和Java是C和C++的孩子,爺爺和爸爸是探路的,孩子們大樹底下好乘涼。
如果你選擇的是Windows平台下的C++程序員,那C++本身和擴展的庫(STL、BOOST等)、Windows API、MFC、COM、ATL、WTL。。。這些東西根據個人情況,慢慢學吧。這些技術都是建立在理論基礎上的,所以你要更加註意計算機理論的學習:網路原理(socket編程)、資料庫技術(資料庫編程)、匯編語言(嵌入式、游戲、殺毒、逆向)、編譯原理(編譯器的原理)、多媒體技術(數據傳輸、壓縮、解碼、聲音處理、圖像處理)、圖形學(模式識別、虛擬現實)、人工智慧(AI不解釋)。。。當然這些東西是有側重的,根據你的行業而論。
還沒完,不過這對你夠多了。不要被這些名詞嚇住了,計算機只不過是個機器,只認識0和1,你永遠比它強!