當前位置:首頁 » 編程軟體 » 源程序經過編譯可執行

源程序經過編譯可執行

發布時間: 2023-05-31 05:43:25

c語言中的源程序必須經過編譯連接生成可執行程序才能運行,這句話是對不對

哥們,這么理解是對的,不過感覺有點表面。
建議看看計算機一些原理,像你說的這個問題我會想到,計算機最終只能識別二進制碼,
所以其實不管我們一切啥語言,最終都是通過編譯器編譯成二進制碼,計算機才能識別
而去運行,而c語言編寫的程序,肯定是要經過一系列的編譯,鏈接,生成可執行的文件。
在windows系統中,執行文件都是.exe為擴展名的。不過在linux系統中就不一樣了,linux
系統並不區分擴展名,所以也就無所謂什麼.exe之類的文件,只要知道最終生成可執行的
二進制文件就可以了。

⑵ c語言源程序f1.c經過編譯後運行將實現什麼功能

將C源程序編譯為目標文件。
採用生成性實現途徑實現的翻譯程序,它掘姿以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目正散虧標程序作為輸出,編譯為目標文件。
C語言編譯出來的是object文件,裡面的內容基本上舉神包括跟CPU類型相關的機器代碼,這個代碼當然在兼容的CPU上都是可以運行的常量。

⑶ 計算機程序中,用高級語言編寫的程序經編譯後產生的程序叫什麼

高級語言編寫的代碼經過編譯後就是可執行程序,高級語言到可執行文件主要有七個個過程。
高級語言編譯的七個過程:
預處理,詞法分析,語法分析,語義分析,中間代碼產生,代碼優化,目標代碼產生。
下面對這幾個過程詳細講解:
1、預處理:
對原文件進行預處理,比如頭文件,導入的模塊,宏定義等進行處理;
2、詞法分析:
詞法分析是第一階段,這個階段的任務是從左到右一個字元一個字元的讀入源程序,對構成源程序的字元流進行掃描和分解,從而識別出一個個單詞。
3、語法分析:
語法分析的任務是在詞法分析的基礎上將單詞程序分解成各位語法短語。
4、語義分析:
語義分析是審查源程序有無語義錯誤,為代碼生成階段收集類型信息。
5、中間代碼生成:
在進行了上述的語法分析階段等工作之後,有的編譯程序將源程序變成一種內部表示形式,這種內部表示形式叫做中間語言或中間代碼。中間代碼生成階段要在語法和語義分析的基礎上,將源程序進一步變為一種內部表示形式,它通常易於生成、易於翻譯成目標代碼,不過不是所有的語言都必須經過這一步。
6、代碼優化:
這一階段的任務是對前一階段產生的中間代碼進行變換或進行改造,目的是使生成的目標代碼更為高效。代碼優化階段,對前階段生成的中間代碼進行變換或改造,以便生成目標代碼時更加節省時間和空間,這一工作也不是必須的。
7、目標代碼生成:
這一階段的任務是吧中間代碼變換成特定機器上的絕對指令代碼或可重定位的指令代碼或匯編指令代碼。

⑷ 把高級語言編寫的源程序轉換為可執行程序的過程叫什麼

這個過程有兩個叫法,編譯或者解釋。
有些高級語言在把源程序轉換為可執行程序的時候,需要先對完整的源程序做詞法分析、語法分析等一系列檢測,所有語法都沒有問題後,一次性把所有源代碼翻譯成機器碼,這要求源程序中不能有任何語法錯誤,否則將不會生成可執行程序,直到所有語法錯誤都改正,這種轉換的方式稱為編譯,C、C++等語言就是採用了編譯方式。
還有些高級語言在把源程序轉換為可執行程序的時候,一句話一句話的轉換,翻譯一行執行一行,如果遇到某一行出現了語法錯誤,程序將停止在出現錯誤的地方,程序員可以修改,然後繼續執行,這種轉換方式稱為解釋,VB、早期的Java都是採用解釋方式。
兩種方式各有利弊,編譯的方式對於程序員要求較高,源代碼中不能出現任何錯誤,最終的程序才能執行,但一旦通過了編譯,則生成的可執行代碼執行效率會很高;而解釋方式可以邊寫代碼邊調試,但執行的效率較低。

⑸ C語言的源程序必須通過什麼和什麼才能被計算機執行

編譯和鏈接。

每一個C語言程序必須要經過編譯和鏈接才能被計算機執行,編譯是將C源碼翻譯成機器碼,鏈接是將將二進制目標文件裝配成一個具有特定格式的二進制可執行文件,比如Windows平台上是PE格式,一般以.exe為擴展名。

一個C語言程序從源碼到計算機系統可以執行,更細致的劃分為:預處理——編譯——匯編——鏈接。預處理是對C語言源碼進行文本處理,編譯階斷是將C源碼經C編譯器生成匯編代碼,匯編階斷是將匯編代碼經匯編器生成二進制機器碼文件。這兩個合攏起來,籠統的可以叫做編譯階斷。

⑹ 簡述將源程序編譯成可執行程序的過程

一個源程序到一個可執行程序的過程:預編譯、編譯、匯編、鏈接。其中,編譯是主要部分,其中又分為六個部分:詞法分析、語法分析、語義分析、中間代碼生成、目標代碼生成和優化。

預編譯:主要處理源代碼文件中的以「#」開頭的預編譯指令。處理規則如下:

1、刪除所有的#define,展開所有的宏定義。

2、處理所有的條件預編譯指令,如「#if」、「#endif」、「#ifdef」、「#elif」和「#else」。

3、處理「#include」預編譯指令,將文件內容替換到它的位置,這個過程是遞歸進行的,文件中包含其他文件。

4、刪除所有的注釋,「//」和「/**/」。

5、保留所有的#pragma 編譯器指令,編譯器需要用到他們,如:#pragma once 是為了防止有文件被重復引用。

6、添加行號和文件標識,便於編譯時編譯器產生調試用的行號信息,和編譯時產生編譯錯誤或警告是能夠顯示行號。

(6)源程序經過編譯可執行擴展閱讀:

編譯過程中語法分析器只是完成了對表達式語法層面的分析,語義分析器則對表達式是否有意義進行判斷,其分析的語義是靜態語義——在編譯期能分期的語義,相對應的動態語義是在運行期才能確定的語義。

其中,靜態語義通常包括:聲明和類型的匹配,類型的轉換,那麼語義分析就會對這些方面進行檢查,例如將一個int型賦值給int*型時,語義分析程序會發現這個類型不匹配,編譯器就會報錯。

python源程序執行的方式

python源程序執行的方式如下:

1、在命令行輸入ipython或ipython3進入互動式shell環境,如果不行的話需要安裝ipython和python鏡像,配置方式:pip3 install ipython -i ctrl+D或者exit 推出ipython ipython的優點:支持自動補全和執行linux命令。

2、在命令行窗口輸入python (官方的shell),在這里可以直接輸入python程序代碼,退出用exit() 或者 ctrl+D。

3、集成開發環境:PyCharm 類似IDEA,推薦教程: 《Python教程》。

編譯執行

所謂編譯執行就是源代碼經過編譯器編譯處理,生成目標機器碼,就是機器能直接運行的二進制代碼,下次運行時無需重新編譯。不過它是針對特定CPU體系的,這些目標代碼只能在特定平台執行。

如果這個程序需要在另外一種 CPU 上面運行,這個代碼就必須重新編譯。它不具備可移植性,但是執行速度快,C、C++這類語言屬於編譯型語言。

⑻ C源程序經編譯形成的二進制代碼可以直接運行嗎

不可以直接運行,源程序是程序員寫給人看的,電腦執行的都是.EXE程序或者是二進制可執行代碼,所以得將源程序進行編譯連接然後才能生成可執行的程序也就是二進制的代碼。

源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規范書寫的文本文件,是一系列人類可讀的計算機語言指令。

在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。

計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。

(8)源程序經過編譯可執行擴展閱讀:

如果按照源代碼類型區分軟體,通常被分為兩類:自由軟體和非自由軟體。自由軟體一般是不僅可以免費得到,而且公開源代碼;相對應地,非自由軟體則是不公開源代碼。所有一切通過非正常手段獲得非自由軟體源代碼的行為都將被視為非法。

對於計算機而言,並不存在真正意義上的「好」的源代碼;然而作為一個人,好的書寫習慣茄螞將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。

對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都顫鍵埋忽視軟體說明的編寫,因為這部分不會在生成的程序中直接顯示,也不參與編譯。

但是亮悔注釋代碼對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。

網路-源代碼 (一系列人類可讀的計算機語言指令)

⑼ 用編譯程序可將c語言源程序變為什麼程序

你好,C語言通過編譯之後,會變為計算機能夠執行的程序。
源程序(源代碼)是指按照一定的程序設計語言規范編寫的未經過編譯的文本文件,是具有可讀性的計算機語言指令。可以比作自己手寫的程序代碼。可執行程序(Executable Program,EXE file)是可以在操作系統存儲空間中浮動定位的二進制可執行程序。一般軟體安裝後會生成可執行文件,可以直接載入到內存中,操作系統載入並執行。
以 C 語言為例,自己編寫的源代碼文件擴展名為 c,這個 c 文件就是源文件。從源文件到可執行文件一般需要經過幾個步驟:預處理->編譯->匯編->鏈接這四個過程。
希望我的回答能夠幫助到你。

熱點內容
出售lol腳本防封判幾年 發布:2024-04-19 12:45:14 瀏覽:187
安卓電視會員和平板哪個好 發布:2024-04-19 12:42:48 瀏覽:834
雲伺服器2m寬是多少 發布:2024-04-19 11:56:36 瀏覽:728
android層布局 發布:2024-04-19 11:52:13 瀏覽:771
1500元組裝伺服器電腦 發布:2024-04-19 11:47:25 瀏覽:469
qq改密碼怎麼改手機 發布:2024-04-19 11:39:17 瀏覽:969
電腦上如何看wifi密碼 發布:2024-04-19 11:34:14 瀏覽:416
java性能測試腳本 發布:2024-04-19 11:25:24 瀏覽:981
存儲成本與性能 發布:2024-04-19 11:16:18 瀏覽:169
linux根文件系統製作 發布:2024-04-19 11:16:12 瀏覽:747