❶ 為什麼編譯後執行文件很大
關於程序源代碼編譯之後,可執行文件很大這個問題,根據我的編程經驗,不論是在 WINDOWS 系統下面、還是在 UNIX/Linux 系統下面,假設在你編寫的源代碼沒有任何錯誤、且保證可以運行出正確結果的前提下,你必須要仔細查閱關於源代碼編譯選項的一些資料。因為使用編譯器在編譯源程序的時候,加上不同的編譯選項對源代碼進行編譯,實際上對可執行程序的影響還是很大的。
例如:如果在編譯的時候加上優化選項,那麼肯定要比你不加優化選項,其可執行程序的運行速度要快得多;再例如:如果你想對源代碼進行底層調試,那麼在編譯的時候就必須要加上調試選項,等等。
❷ 一個程序通過了編譯,並且得到了輸出結果,這個結果是否一定正確為什麼
不一定,好比如說你定義了一個有10個元素的數組,然後將另一個有11個元素的數組逐一賦值給它,程序中控制它正確賦值,最後輸出第一個數組各元素的值,但是雖然通過了編譯,也輸出了結果,但是你還是沒能把11個元素的都賦值過去,這就是達不到所想的賦值,當然是不正確的了。還有其他一些情況,當你的編程經歷越多時就會碰到的了
❸ c程序編譯後生成什麼,連接後生成可執行程序
c程序編譯後生成目標文件,連接後生成可執行程序。C語言是世界上最流行、使用最廣泛的面向過程的高級程序設計語言。C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。
❹ 編譯程序和解釋程序有何區別
編譯程序能生成目標程序,而解釋程序不能。
❺ c語言編譯後的是什麼東西
C/C++編譯連接後,生成的exe文件都是二進制的機器碼
快和慢的簡單概念就是做同樣的一件事情,一個用時少,一個用時多
也就是一個用的指令周期少,一個用的指令周期多
❻ C語言程序編譯後產生哪些類型的文件這些文件的作用是什麼
不同的系統,產生的文件不一樣;
win:
->.obj目標文件
->.obj目標文件->.exe可執行文件
->.rc
。。。。
❼ 編譯程序和解釋程序的區別
編譯程序和解釋程序的區別是:
1、編譯是將源程序翻譯成可執行的目標代碼;解釋程序不產生目標代碼。
2、解釋程序可跨平台使用;編譯程序跨平台性不好。
3、解釋程序可以隨時修改,立刻生效;編譯程序不行。
4、解釋程序運行效率低;編譯程序執行速度快。
編譯是將源程序翻譯成可執行的目標代碼,翻譯沒斗與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。
解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。
同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,念察敗解釋器本身也佔用了寶貴的系統資源。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行仔顫時計算機可以直接以機器語言來運行此程序,速度很快。
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的。
❽ java程序經編譯後會產生什麼
產生:byte codex0dx0ax0dx0aJava位元組碼是Java源文件編譯產生的中間文件x0dx0ajava虛擬機是可運行java位元組碼的假想計算機 java的跨平台性也是相對與其他編程語言而言的x0dx0a先介紹一下c語言的編譯過程吧先是C語言源程序 也就是c的文件經過C編譯程序編譯後,生成windows可執行文件exe文件,然後在windows中執行。再介紹java的編譯過程先是java源程序擴展名為java的文件,由java編譯程序將java位元組碼文件,就是class文件然後在java虛擬機中執行。機器碼是由CPU來執行的。Java編譯後是位元組碼, 電腦只能運行機器碼。Java在運行的時候把位元組碼變成機器碼。C/C++在編譯的時候直接編譯成機器碼。