1. 計算機c語言 為什麼經過編譯就可以執行,沒有經過連接
C語言是通過編譯器與電腦進行交流。不用經過連接。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言最初的標准。
2. 指令一定要經過編譯才能被計算機執行嗎
不,指令並不一定要經過編譯才能被計算機執行。
首先,我們需要理解編譯和執行的基本概念。編譯是將源代碼(由程序員編寫的高級語言代碼)轉換成機器代碼(計算機可以直接執行的代碼)的過程。執行則是計算機運行這些機器代碼的過程。在很多情況下,編譯是執行前的一個必要步驟,但這並不是絕對的。
一種無需編譯即可執行的情況是解釋型語言。解釋型語言在執行時,由解釋器逐行讀取源代碼,並將其轉換成機器代碼執行。因此,對於解釋型語言來說,源代碼本身就是“指令”,無需預先編譯成機器代碼。常見的解釋型語言包括Python、Ruby和JavaScript等。例如,當你在Python環境中輸入一行代碼並按下回車鍵時,Python解釋器會立即執行這行代碼,而無需事先進行編譯。
此外,還有一些語言採用了編譯和解釋相結合的方式,如Java和C#。這些語言首先將源代碼編譯成一種中間代碼(如Java的位元組碼或C#的Common Intermediate Language),然後在運行時通過虛擬機或運行時環境將這些中間代碼解釋或編譯成機器代碼執行。這種方式結合了編譯型語言和解釋型語言的優點,既提高了執行效率,又保持了一定的平台獨立性。
總之,雖然編譯是將源代碼轉換成可執行代碼的一種常見方式,但並不是唯一的方式。解釋型語言和編譯與解釋相結合的語言都無需預先編譯即可執行指令。因此,我們可以說指令並不一定要經過編譯才能被計算機執行。
3. 程序源代碼經過編譯得到的目標程序不可以
源程序一般就是可以用記事本打開的好多行英文的,用編程語言寫好的軟體。
源程序經過編譯成目標程序,才能運行。一般目標程序不能再修改了。
我們電腦上安裝的軟體都是目標程序。除了腳本語言的源程序外,其他源程序是不能直接運行的。
提倡軟體開源的人士認為應該提供源程序給用戶,讓用戶自己修改,有利於軟體行業的發展。反對的人覺得這樣不利於保護版權。
你如果不懂編程,源程序可以不管它。不影響正常使用。
源代碼作為軟體的特殊部分,可能被包含在一個或多個文件中。一個程序不必用同一種格式的源代碼書寫。例如,一個程序如果有C語言庫的支持,那麼就可以用C語言;而另一部分為了達到比較高的運行效率,則可以用匯編語言編寫。
較為復雜的軟體,源程序文件可以達到成千上萬個。為了降低復雜度,必須引入一種可以描述各個源代碼之間聯系,並且如何正確編譯的系統。在這樣的背景下,修訂控制系統(RCS)誕生了,並成為研發者對代碼修訂的必備工具之一。
還有另外一種組合:源代碼的編寫和編譯分別在不同的平台上實現,專業術語叫做軟體移植。