㈠ gcc編譯器為什麼不直接編譯成機器代碼
編譯單元無法確定要訪問的邏輯地址,也就無法轉為機器碼,必須由鏈接過程分配地址。
先編譯後鏈接,應該是易於編譯器的實現和擴展並且能夠增加靈活性和多文件項目的編譯效率。
㈡ 如何編譯C語言源代碼
下載一個VC2005軟體,把代碼復制到裡面,設置好C運行環境,點擊編譯,OK,然後點擊那個感嘆號,直接鏈接運行,就OK了。
㈢ 編譯程序是什麼意思編譯是什麼意思
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。
(3)編譯機編譯代碼擴展閱讀:
結構:
編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。
編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。
可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。
㈣ 源碼怎麼編譯
使用編譯器如VC++6.0,VC++2008
㈤ 編譯程序把源代碼編譯為的目標代碼是什麼代碼是不是匯編
這個問題比較復雜,其實來說,編譯器可以翻譯高級語言為任何低級語言或機器語言。像JAVA,.NET的編譯器是編譯結果是中間代碼(可以理解為一種低級語言),由相應解釋器執行;像C之類的編譯以後可以是根據不同平台相應的機器碼,就是01組成的編碼,由對應平台的計算機直接執行;除此以外,gcc等也可以將C編譯為匯編輸出!
建議學習《編譯原理》這門課程,你會有更深的理解。
㈥ C#代碼能編譯成機器代碼嗎
目前只有WP商店內的軟體才可以本地編譯,未安裝環境的機器上你要麼在做安裝包里把.net framework打包進去,要麼用飛信的虛擬機
㈦ 我們可以很容易把源代碼編譯成機器代碼,為什麼就很難把機器代碼反編譯成源代碼
因為機器代碼太冗長,而且每一台電腦的機器代碼都不盡相同。
ps 這台電腦上A的機器代碼是101010101000,但在別的電腦上就不一定是這個了~
㈧ vb編譯為「本機代碼」和「P-代碼」有什麼不同
按照預設規定,Visual Basic 將應用程序編譯成可運行的解釋型或 P-code 程序。運行時,動態鏈接庫 (DLL) 將翻譯或解釋執行程序中的指令。
用「本機代碼」選項來編譯工程意味著您寫的代碼將完整地編譯為處理器晶元的本地指令,而不是編譯為p-code。這將大大加速循環和數學計算,並可以加速對 MSVBVM60.DLL提供的服務程序的調用。然而,這並不能減少對 DLL 的需要。
選中「編譯為P-代碼」,VB將應用程序編譯成解釋執行的P-代碼程序。運行P-代碼程序時,動態鏈接庫(DLL)將翻譯或解釋執行程序中的指令。在許多情況下,運行本機代碼比運行解釋型代碼本質上要快得多。
P代碼似乎沒什麼優點喔,我唯一知道的就是編譯為P代碼較難破解。
Microsoft Visual Basic 6.0是一個RAD(Rapid Application Development)工具,它具有把應用程序編譯成P代碼或本機代碼的靈活性。把應用程序編譯成P代碼可以使代碼的長度被優化為最小。這種代碼長度較 小的特點使P代碼在低帶寬情況下成為創建Internet應用程序的最佳選擇。本機代碼的編譯過程對速度進行了很好的優化(將快至20倍),但是所產生的 可執行文件長度變大。Visual Basic 6.0是既支持通過P代碼又支持通過本機代碼快速開發應用程序的唯一RAD工具。
p代碼運行可能要慢一些,但是兼容性較好、文件小,發布時建議使用P代碼
這條意見 好像不對哦。
兩種都應該要vb運行庫的,一個要的是速度,一個要的是文件大小。
按照默認規定,Visual Basic將應用程序編譯成可運行的解釋型或P代碼(P-Code)程序。運行時,動態鏈接庫(DLL)將翻譯或解釋執行程序中的指令。在許多情況下,運行本機代碼比運行解釋型代碼本質上要快的多。
編譯為本機代碼時應注意以下一些事項:
1、若代碼做了大量固定類型的、非字元串變數的基本操作,則其產生的本機代碼將比編譯的P-Code操作碼產生最大的反差。但是,對於復雜的經濟計算或生成分形圖形,用本機代碼有很多好處。
2、計算密集型程序或在局部數據結構中處理大量的位和位元組操作的程序,用本機代碼就可獲得明顯的好處。
3、在多數的程序中,特別是那些含有大量Windows Api調用、COM方法調用和字元串操作的程序中,本機代碼不比P-Code快多少。
4、含有大量子常式調用而非內嵌過程的代碼,用本機代碼也不是很快。
㈨ 請問,為什麼機器會編譯代碼
機器本身不會做任何事情, 它做的所有事情都是靠軟體實現的。
編譯代碼也是一樣, 靠的是編譯軟體。
編譯軟體的功能, 就是把代碼, 翻譯成機器可以識別的二進制文件。
簡單的理解 就是有人寫了一個軟體, 類似於字元處理, 可以實現編譯功能。