1. 用高級語言編寫的源程序必須經過編譯,產生目標程序後才能運行,這句話對嗎為什麼
目標程序不能運行,必須再經過連接成可執行文件才能運行。
而且像java 和c#的程序編譯後也不是目標程序。
2. 編寫的程序一定要有編譯器才能運行嗎
不用,編譯器只是有負責將編譯語言翻譯為機器語言的作用,編譯後的程序就是機器語言了。可以直接在計算機上運行
3. 用高級語言編寫計算機程序時,編輯完代碼後可以直接運行程序嗎
用高級語言編寫計算機程序時,編輯完代碼後不可以直接運行程序,必須先「編譯」,就是把高級語言程序轉變成計算機可以直接運行的機器碼程序。
4. C語言程序編好了怎麼運行啊
他都提示說:「源文件未編譯」了。那你就先 編譯 一下啊。
PS:
你說的編完了,是編輯完了吧!
PS:
編輯和編譯,是兩回事情。
運行前,需要先編輯好程序(也就是你說的輸入),再編譯一下(保證沒有錯誤),然後才能運行
5. 一個c語言程序編譯後就能直接在計算機中運行嗎
.exe文件是可執行文件,編譯後會生成這個文件,在debug目錄下
6. 執行C語言一定要先編譯么,不可以直接執行么
一般來說編譯過後就成了基本上能執行的2進制代碼。但是這些2進制代碼並不完善,一個程序往往需要調用不止一部分的代碼,所以需要把這些代碼全部整合起來才能執行。
即時你的程序看起來只有一個文件,但是編譯過後,多多少少裡面至少會調用到一些操作系統功能,和其它的一些設置,所以依然需要組建這個過程把這個程序和這些系統默認的代碼組建起來形成一個完成、單一的可執行文件。所以一般組建過程就包含了組建內部和外部代碼,一般來說內部代碼就是我說的系統預留的必要的一些代碼(例如怎麼具體完成把一些字元顯示在屏幕上呀這些功能),而外部代碼就是額外的調用自己寫得或者別人寫得其它程序功能(往往當你的程序調用了非c標准函數的時候)。
所以就算你的代碼可以編譯,但是可能因為組建並不成功(例如需要組建的代碼本身有bug,或者丟失,或者版本不匹配),你的程序依然可能無法正確運行。
7. 運行程序的過程不是編譯的過程嗎
不是;
編譯是解釋程序,形成機器碼;
運行是執行。
8. 運行java程序時,為什麼要先編譯再運行,編譯運行一起進行不行嗎
java講究的是 一次編譯 處處運行,也就是提高了程序的一致性。java的程序之所在不同的操作系統上的運行結果是一樣的,是因為java虛擬機。
所以要運行java都要裝一個叫jdk的東西,裡面有java的虛擬機。這個虛擬機就是來解釋我們寫的代碼。通過這個虛擬機,就實現了代碼的移植。
我們寫好的程序,通過虛擬機,編譯成class文件,然後在運行。但是我們只需要編譯一次即可。
9. 編譯程序是直接執行源程序嗎
編譯程序一般不是執行源程序,而是把我們寫的文字型的代碼編譯為二進制的內容,然後去執行二進制的內容。
有些編程語言是需要編譯的必須先編譯在執行,而有些是腳本型的,則直接運行源程序就可以。