導航:首頁 > 源碼編譯 > 編譯與速度的區別

編譯與速度的區別

發布時間:2022-06-26 03:02:36

Ⅰ 靜態編譯和動態編譯有何不同

靜態編譯就是把庫函數編譯到你的程序里 這樣編譯的好處是 可以適應不同的平台 如果你是用window系統的話不建議用靜態編譯 因為這樣會使你的代碼量增大
動態編譯就是不把庫函數編譯到你的程序里

Ⅱ 靜態編譯和動態編譯有何不同

靜態編譯與動態編譯的區別:
1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令
所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。
缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。
2、靜態編譯就是編譯器在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴於動態鏈接庫。所以其優缺點與動態編譯的可執行文件正好互補。

Ⅲ 急!!!!!!!!解釋程序與編譯程序有什麼區別,各舉例!!!!!!

編譯程序和解釋程序2006年10月16日
星期一
14:26如果一個程序能夠把某一種語言程序(稱為源語言程序)改造成為另一種語言程序(稱為目標語言程序),則這親戚的程序稱為「翻譯程序」。如果源語言是「高級語言」(諸如FORTRAN、PASCAL等等),而目標語言是「低級語言」(如匯編語言或機器語言),則這樣的翻譯程序稱為「編譯程序」。
現在的計算機尚不能直接執行高級語言程序。執行一個高級語言程序大體上要分兩步:第一步,把高級語言的源程序編譯成低級語言的目標程序;第二步,運行這個目標程序。編譯程序的典型工作過程是:輸入源程序,對它進行加工處理,輸出目標程序。加工處理是非常復雜的過程,它又可劃分成以下幾個階段:源程序→詞法分析→語法分析→產生中間代碼→優化→目標代碼生成→目標程序。
第一階段是詞法分析。承擔詞法分析任務的程序稱為「掃描器」。詞法分析的任務是:對構成源程序的字元串進行掃描和分解。第二階段是語法分析。承擔語法分析任務的程序稱為「分析器」。語法分析的任務是:根據語法規則,把描掃器所提供的結果分析成各類語法范疇。第三階段是產生中間代碼。承擔產生中間代碼任務的程序稱為「中間代碼產生器」。其任務是:按照語法分析器所識別出的語法范疇,產生相應的中間指令。第四階段是優化,即代碼優化。優化的任務是對前階段產生的中間代碼進行加工變換,以便使生成的目標程序,能運行得更快更省(省內存)。第五階段是目標代碼生成。這一階段的任務是:按照優化後的中間代碼和其它有關信息生成目標程序。這種目標程序可以在計算機上直接執行。執行這個目標程序,就可得到一個高級語言程序的結果。
我們知道,所謂翻譯程序是這樣一種程序,它能夠把用甲語言寫的程序翻譯成與之等價的用乙語言寫的程序。這里的甲語言是該翻譯程序的源語言,而乙語言則為該翻譯程序的目標語言。對於編譯程序而言,源程序是被加工的對象,而目標程序是加工後的結果。
在計算機上執行用某種高級語言寫的源程序,通常有兩種方式:一是編譯執行方式,二是解釋執行方式。
採用編譯執行方式執行源程序時要分兩大步:編譯和運行。編譯中的加工處理過程又可分為五個階段。
解釋執行方式與編譯執行方式是不同的,其根本區別在於:編譯方式把源程序的執行過程嚴格地分成兩大步:編譯和運行。即先把源程序全部翻譯成目標代碼,然後再運行此目標代碼,獲執行結果。解釋方式則不然。它是按照源程序中語句的動態順序,直接地逐句進行分析解釋,並立即執行。所以,解釋程序是這樣一種程序,它能夠按照源程序中語句的動態順序,逐句地分析解釋並執行,直至源程序結束。
與編譯程序一樣,解釋程序也與源語言及計算機有關。同一台計算機上不同語言的解釋程序是不同的;同一種語言在不同的計算機上的解釋程序也可能不同。同一種高級語言的源程序,它可以採用解釋執行方式,也可以採用編譯執行方式。例如,BASIC語言有解釋BASIC和編譯BASIC之分。前者執行速度慢;後者執行速度快。編譯程序和解釋程序都屬於系統程序。

Ⅳ 程序的編譯速度與程序的執行速度

執行與編譯。。也有掛鉤!。。執行、編譯速度又跟硬體有關!用 WEB來說 第一次編譯比較慢!後面這次訪問就快多了!這跟緩存有關。。還有就是代碼的問題。。 多次的循環判斷也會造成系統執行變慢!。。在提升速度方面 主要就是倆種方法 1.完善的代碼 2.提高硬體了!可能我說的比較片面!別的兄弟可以繼續補充!

Ⅳ 解釋和編譯有什麼區別

一、與計算機的交流方式不同

1、解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。

三、開發便捷性

1、解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果

2、編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件

四、運行速度

1、解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多

2、編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。

Ⅵ dll運行速度與編譯語言的關系

C++編譯生成的是機器碼,效率最高
Java不支持編譯成dll
C#和VB編譯生成的是IL中間語言,有一層.NET運行時,效率比C++低一些。

Ⅶ 在linux系統中,靜態編譯和動態編譯哪個速度快的

你說的靜態庫和動態庫吧?編譯速度沒有太大的區別,在實際運行時,靜態庫運行較快,而動態庫內地函數由於在實際使用到時才載入到內存,所以運行較慢。動態庫的好處是只要保持介面不變,就可以在程序運行時進行動態庫的切換。

閱讀全文

與編譯與速度的區別相關的資料

熱點內容
app神州租車怎麼退訂單 瀏覽:864
幽默程序員的作文 瀏覽:287
linuxbenchmark 瀏覽:895
高分子pdf 瀏覽:689
加密電池測電流 瀏覽:894
電腦怎麼下載appstore 瀏覽:725
兩台電腦使用代理伺服器怎麼連接 瀏覽:231
初創公司買什麼配置的雲伺服器 瀏覽:165
程序員的實力測試 瀏覽:509
手機版寶可夢模組的伺服器怎麼進 瀏覽:119
qt在arm上編譯過程 瀏覽:124
黑白命令在哪裡 瀏覽:22
演算法崗問面試官的問題 瀏覽:117
720pjpg壓縮 瀏覽:525
經濟學人app怎麼用 瀏覽:734
thunderbird如何刪除伺服器 瀏覽:632
編譯內核模塊准備工作 瀏覽:187
protues單片機 瀏覽:680
淘寶想多開店怎麼租伺服器 瀏覽:581
小鹿情感app怎麼打不開了 瀏覽:325