編譯為本地代碼是什麼意思
『壹』 編譯程序把源代碼編譯為的目標代碼是什麼代碼是不是匯編
像java,.NET的編譯是偽編譯。
像C之類的編譯以後是機器碼,就是01010101這類的編碼,計算機可以直接執行!
『貳』 VB工程屬性-編譯-設置問題
默認既可,無需修改。
『叄』 VB編譯為P-代碼是什麼意思
p代碼:全稱是pseudo-code,就是偽代碼的意思,在VB編譯中,有兩種編譯方式,一種是Native-Code(本地代碼),另一種就是p-code。P-code
或偽代碼,是介於
Basic
程序中的高級指令和計算機處理器執行的低級本機代碼之間的一種中間步驟。
無論選擇哪個,都需要運行庫,不過自WINXP以後版本都有自帶VB6運行庫的。
雖然VBGOOD等論壇已經有牛人使用VB6寫成機器+匯編代碼,脫離運行庫,但是,程序會變得臃腫,原理就是將運行庫集成自身或者全部使用API函數。
『肆』 什麼是本地代碼,本地方法,本地庫,是不是就是用c或c++寫的程序,就是本地,java去調用
本地代碼是指編譯生成後的是虛擬機代碼還是本地代碼。像Lua,Java,C#這類就是位元組碼就不是本機代碼。而C++類生成的就是本地代碼。
『伍』 編程完要編譯,編譯到底是什麼意思
編程就是編寫程序,也就是敲代碼
編輯應該也是寫代碼的意思吧
編譯一般都是在寫了一行代碼保存的時候,開發工具會編譯你寫的代碼是否有錯,然後會幫你生成一些其他文件
『陸』 本地代碼是什麼
是你操作系統採用的文字編碼,通常是GBK UTF-8等
『柒』 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、含有大量子常式調用而非內嵌過程的代碼,用本機代碼也不是很快。
『捌』 visual studio 的 C# 如何編譯成本地代碼
你要把關聯和屬性都設置好,然後使用生成->解決方案(ctrl+shift+b),也可以在命令提示欄裏手動編譯。使用f5是先進性編譯,然後開始調試。
『玖』 為什麼android不將java代碼編譯成本地代碼
1、Java所謂的跨平台主要是指cpu架構(x86\ARM\IBM的cpu等等),而不僅僅是OS。
2、Android手機硬體不標准,編譯成機器碼到一些手機上無法運行。
3、ART是在app安裝時,將app的代碼編譯成本地機器碼,這樣就可以因地制宜地將二進制碼編譯成對應的本地機器碼了,解決了問題2。但也不是在app發布時編譯為本地機器碼的。
『拾』 C#源代碼編譯成為本地代碼的編譯過程
很抱歉,這是不可能的。C#語言程序不可能脫離.net框架,就像Java一樣,C#語言的運行環境是.net framework,.net對於C#就像Java虛擬機對於Java語言一樣。另外,C#是一種有限制語言,.net負責保證代碼訪問的安全特性,C++是唯一可以允許程序員開發無限制低級程序的語言,.net不僅負責為代碼提供運行支持,還負責保證程序的安全性,一種受限制的語言是不能脫離限製程序的控制的,對於C#,.net就是控制系統,因此,C#程序不可能脫離.net環境。
===================================================
對補充的答復:
這恐怕也是不行的。在以往的PE結構的程序中,因為不同的CPU擁有不同的指令集,所以為了適應客戶機的硬體的不同,往往會開發一個程序的不同版本,微軟為了解決這個問題,在.net中准備了多個即時編譯器(JIT),當一個中間語言的程序在客戶機上運行時,JIT會根據客戶機當前的硬體配置和操作系統等方面的情況對代碼進行優化,然後生成本地化的機器代碼,這個機器代碼並不是全部程序的代碼,而是只生成程序運行必須的部分,其它的會在執行時根據需要動態生成。微軟官方對項技術的解釋為:
「JIT 編譯考慮了在執行過程中某些代碼可能永遠不會被調用的事實。它不是耗費時間和內存將可移植可執行 (PE) 文件中的所有 MSIL 轉換為本機代碼,而是在執行期間根據需要轉換 MSIL 並存儲生成的本機代碼以供後繼的調用使用。當載入類型時,載入器創建存根 (stub) 並將其附加到類型的每個方法。當對方法進行初始調用時,存根 (stub) 將控制傳遞給 JIT 編譯器,而編譯器將該方法的 MSIL 轉換為本機代碼並修改存根 (stub) 以直接執行到本機代碼的位置。後面對 JIT 編譯的方法的調用將直接進行到以前生成的本機代碼,從而減少了進行 JIT 編譯和運行代碼所需的時間。」(原文)
此外,當一個程序開始運行後,JIT首先開始進行即時編譯,當某個被編譯過的方法被再次執行時,將直接執行它的本地代碼。
希望這些信息對您有所幫助。