全部編譯與部分編譯的區別
㈠ 什麼叫部分編譯
對程序員而言 :
完全編譯後出來的, 是 binary code, 也是電腦真正執行的代碼. 例如 vb, vc, c, assembly 寫出來的程序
部份編譯出來的, 就會像 java 那樣, 出來的叫 byte code. 因為真正執行 java 程序的, 其實是 java 的 jvm (虛擬機) 將 byte code 解釋再執行, 而不是由 byte code 直接運行的
最後一種是解析(腳本)語言, 成品就是 script, source code, 像 perl, php 那些, 寫好, 就丟給解譯器 interpreter 去執行. 完全無需編譯
㈡ 編譯運行編譯運行,有什麼區別
編譯:
包括編譯和鏈接兩個過程。
編譯部分,是把源文件(代碼)轉換成機器可以識別的二進制語言,這個過程是針對每一個源文件的。
鏈接,是把編譯生成的二進制文件,組合成為一個系統可以執行的可執行文件。
這兩部分整體也叫編譯。也就是說,廣義的編譯,就是把代碼,轉換成可執行文件。
運行:
把編譯出來的可執行文件,在系統中運行的過程,稱為程序的運行。
打個比方,編譯就是做飯的過程,而運行,就是吃飯。二者是完全不同的概念,是計算機軟體開發的兩個步驟。
㈢ 全譯摘譯編譯的區別
答:編譯就是既編又譯,譯是編的基礎和依據,編譯的目的和歸宿(轉引自劉洪潮,2004: 379) 。編譯就是把一種或若干種外國作品、文章或資料根據讀者的需要加以改編的一種工作,是翻譯和編寫二者的有機結合。
摘譯就是譯者摘取一些被認為重要的,或者說傳達了重要信息的新聞段落或內容作為翻譯對象進行翻譯。摘譯不同於編譯,後者保持原文的整體框架,在內容上可以進行取捨整合,而前者是根據需要從原文中零星地抽取,一旦確定抽取的內容後必須完整地將其翻譯出來。
全譯就是譯者將所有內容作為翻譯對象進行翻譯,並不對其做刪減。
㈣ keil4每次build target 都是全編譯是怎麼回事啊每次花很長時間啊,謝謝!!!
全編譯,顧名思義,就是把工程里所有的文件都編譯一遍,不管這個文件是否有過改動,所以時間很長,因為這個過程是編譯--鏈接---生成HEX文件,所以,如果你文件很多,代碼很多,時間就很長。
而半編譯是只對你改動過的文件進行重新的編譯,所以,過程是
編譯部分文件--重新鏈接--生成HEX.
如果你不是把Keil的優化等級調到了8級及以上,用半編譯完全沒問題。
㈤ STM32開發軟體MDK的編譯問題
options for target----c/c++------optimization----one for ELF per function選中就好了
或者安裝keil mdk V4.6以上版本
㈥ 請問C語言程序編譯過程中,單編譯和雙編譯有什麼聯系和區別
不是雙編譯,生成應用程序要經過兩步:編譯,鏈接。
第一步編譯:編譯器將每個.c文件編譯為對應的.obj文件,這個過程主要是做預處理,語法分析
第二步鏈接:將所有.obj綜合處理,生成二進制執行碼,即一個.exe應用程序
可以選擇僅編譯,只生成.obj文件,若有語法錯誤,則停止編譯,並報告錯誤
也可以選擇編鏈,若編譯期出錯,則停止編譯,若沒有出錯,則繼續生成.exe,一步到位
