導航:首頁 > 源碼編譯 > c程序修改後需不需要重新編譯

c程序修改後需不需要重新編譯

發布時間:2024-12-26 12:04:03

㈠ 程序的編譯執行和解釋執行有何區別

程序的編譯執行和解釋執行的主要區別在於,編譯執行需要將源代碼整體轉換成機器代碼後執行,而解釋執行則是逐行讀取源代碼並轉換成機器代碼執行。

編譯執行和解釋執行是兩種不同的程序執行方式,它們的主要區別在於如何將源代碼轉化為可以由計算機執行的機器代碼。

編譯執行的過程通常包括兩個階段:編譯階段和執行階段。在編譯階段,編譯器會將源代碼整體轉換成機器代碼,生成一個可執行文件。這個過程中,編譯器會對源代碼進行詞法分析、語法分析、語義分析等,檢查源代碼的正確性,並對其進行優化。一旦編譯成功,就會生成一個與源代碼相對應的可執行文件。在執行階段,計算機直接運行這個可執行文件,無需再對源代碼進行任何轉換。C語言和C++語言就是典型的編譯型語言。例如,當我們編寫一個C程序後,需要使用C編譯器(如gcc)將其編譯成可執行文件,然後才能運行這個程序。

解釋執行的過程則不同,它不需要事先將源代碼轉換成機器代碼。解釋器會逐行讀取源代碼,將其轉換成機器代碼並執行。這個過程是邊解釋邊執行的,因此稱為解釋執行。解釋執行的好處是可以隨時修改源代碼並立即看到效果,因為每次執行程序時都會重新解釋源代碼。但是,解釋執行的速度通常比編譯執行慢,因為每次執行都需要進行代碼轉換。Python和Ruby就是典型的解釋型語言。例如,我們可以直接運行一個Python腳本,而無需事先將其轉換成機器代碼。Python解釋器會在執行過程中逐行解釋並執行這個腳本。

總的來說,編譯執行和解釋執行各有優缺點。編譯執行的程序運行速度快,但修改源代碼後需要重新編譯;解釋執行的程序可以隨時修改並立即看到效果,但運行速度相對較慢。在實際應用中,我們需要根據具體需求和場景選擇合適的執行方式。

㈡ [C語言] 運行C程序的步驟

(1)上機輸入和編輯源程序。通過鍵盤向計算機輸入程序,如發現有錯誤,要及時改正。最後將此源程序以文件形式存放在自己指定的文件夾內(如果不特別指定,一般存放在用戶當前目錄下),文件用.c作為後綴,生成源程序文件,如f.c。

(2)對源程序進行編譯,先用C編譯系統提供的「預處理器」(又稱「預處理程序」或「預編譯器」)對程序中的預處理指令進行編譯預處理。例如,對於#include<stdio.h>指令來說,就是將stdio.h頭文件的內容讀進來,取代#include<stdio.h>行。由預處理得到的信息與程序其他部分一起組成一個完整的、可以用來進行正式編譯的源程序,然後由編譯系統對該源程序進行編譯。
編譯的作用首先是對源程序進行檢查,判定它有無語法方面的錯誤,如有,則發出「出錯信息」,告訴編程人員認真檢查改正。修改程序後重新進行編譯,如果還有錯,再發出「出錯信息」。如此反復進行,直到沒有語法錯誤為止。這時,編譯程序自動把源程序轉換為二進制形式的目標程序(在Visual C++中後綴為.obj,如f.obj)。如果不特別指定,此目標程序一般也存放在用戶當前目錄下,此時源文件沒有消失。
在用編譯系統對源程序進行編譯時,自動包括了預編譯和正式編譯兩個階段,一氣呵成。用戶不必分別發出二次指令。
(3)進行連接處理。經過編譯所得到的二進制目標文件(後綴為.obj)還不能供計算機直接執行。前面已說明:一個程序可能包含若干個源程序文件,而編譯是以源程序文件為對象的,一次編譯只能得到與一個源程序文件相對應的目標文件(也稱目標模塊),它只是整個程序的一部分。必須把所有的編譯後得到的目標模塊連接裝配起來,再與函數庫相連接成一個整體,生成一個可供計算機執行的目標程序,稱為可執行程序(executive program),在Visual C++中其後綴為.exe,如f.exe。
即使一個程序只包含一個源程序文件,編譯後得到的目標程序也不能直接運行,也要經過連接階段,因為要與函數庫進行連接,才能生成可執行程序。
以上連接的工作是由一個稱為「連接編輯程序」(linkage editor)的軟體來實現的。
(4)運行可執行程序,得到運行結果。
以上過程如圖1.2所示。其中實線表示操作流程,虛線表示文件的輸入輸出。例如,編輯後得到一個源程序文件f.c,然後在進行編譯時再將源程序文件f.c輸入,經過編譯源程序,找出問題,修改源程序,並重新編譯,直到無錯為止。有時編譯過程未發現錯誤,能生成可執行程序,但是運行的結果不正確。一般情況下,這不是語法方面的錯誤,而可能是程序邏輯方面的錯誤,例如計算公式不正確、賦值不正確等,應當返回檢查源程序,並改正錯誤。
為了編譯、連接和運行C程序,必須要有相應的編譯系統。目前使用的很多C編譯系統都是集成開發環境(IDE)的,把程序的編輯、編譯、連接和運行等操作全部集中在一個界面上進行,功能豐富,使用方便,直觀易用。

㈢ 為什麼用keil修改了c語言程序後,再用proteus模擬運行的時候,運行的還是修改之前的文件啊

我認為是hex 文件沒有改變。用keil修改後,要編譯運行一次,並且要注意是否重新生成 hex 文件(最好去設置裡面重新勾選一下,再編譯運行改之後的程序)。

㈣ 是寫好C語言程序後,編譯通過,點執行的時候出現: this file does not exist.Do you want to build it

我記得這個好像是VC++還是CodeBlocks會有……
C語言代碼寫好後,編譯器要把代碼編譯生成可執行的.exe文件,如果你之前沒有編譯過這個c文件,或者你改了代碼之後再編譯,就會提示你,是不是要重現生成。
但有的編譯器是默認是重新生成的,比如VS,如果你改了代碼,它就會自動重新生成,否則就用之前的.exe。
點確認就好。
代碼修改後,最好手動保存,編譯器不自動重新生成的話就手動重新生成,不然你發現代碼錯了,改了後重新運行,發現還是錯的,半天找不出錯,其實可能是因為沒有重新生成,運行的還是之前那個.exe文件,也就是用錯誤代碼生成的。

㈤ C語言中一個程序寫完後怎麼運行啊

當編寫完一個程序後,需要首先進行編譯,然後再運行。

如下圖所示,程序編寫完畢後,點擊工具欄中的Execute,選擇compile(編譯)。

如果沒有錯誤,再選擇Execute,選擇run(運行)。

(5)c程序修改後需不需要重新編譯擴展閱讀:

dll因為某些原因(最大的可能是因為它是個病毒或流氓軟體的dll文件,被殺軟刪除了)丟失了,但其相關的注冊信息卻還在,導致系統開機時還載入它,卻又找不到它的文件,所以報錯。

如果你點擊「確定」後,系統沒有什麼不正常,並且可以正常運行的話,你可以用這個軟體清理掉這個開機載入項,以後開機穗運就不會出現這個信息了。

下載和棗睜安裝編譯器凳族歲。C語言需要通過編譯器解釋為計算機可以理解的機器碼。 編譯器通常是免費的, 不同的操作系統上一般使用不同的編譯器。

對於Windows系統, 可以嘗試 Microsoft Visual Studio Express,其是Windows平台上最流行的多語言IDE(集成開發環境),其集成了Microsoft開發的C語言編譯器。對於OS X系統, Xcode是一款優秀的多語言IDE,其集成了C語言的編譯器。對於Linux, gcc是一個不錯的也是最流行的選擇。

閱讀全文

與c程序修改後需不需要重新編譯相關的資料

熱點內容
手機sql編譯軟體 瀏覽:524
外網伺服器地址購買 瀏覽:994
空調壓縮機電容價格 瀏覽:381
小程序選什麼雲伺服器 瀏覽:656
如何把java編譯回中文 瀏覽:777
天聯軟體伺服器地址是什麼 瀏覽:964
stc單片機加密 瀏覽:140
小程序地產廣告源碼 瀏覽:542
消費者信息加密私域 瀏覽:431
程序員開發團隊可以怎麼創業 瀏覽:925
設備共享伺服器是什麼意思 瀏覽:126
java符號類型 瀏覽:331
redis客戶端java 瀏覽:214
javatn 瀏覽:278
應用寶哪裡下載王卡免流量app 瀏覽:235
uv7代噴頭加密與不加密 瀏覽:467
滾動指標源碼查詢 瀏覽:986
夢幻西遊lua源碼修改教程 瀏覽:937
androidphp環境 瀏覽:762
php前台頁面 瀏覽:493