nativecode或稱為binarycode/bitcode是將程式編譯成instructionsets(assemblycode)
最簡單的例子就是windows下的C++exe檔執行時直接load進memory
相對於nativecode的則是
bytecode是將程式編譯成javabytecode/MSILJAVA、Flash程式就是這種型式
執行時需透過一個virtualmachine/runtime
說明nativecode編譯器以前,
讓我先解釋另一個名詞─p-code,
p-code的意思是「虛擬的可執行碼」,為什麼說是「虛擬的」呢?
因為p-code雖然是可執行碼,但卻不是由CPU直接執行的
(必須經由「解譯器」解譯後方可執行),
所以不算是「真正的」可執行碼,故稱之。
相對的,nativecode則是由CPU直接執行的可執行碼。
VB4.0以前的版本都一直將程式編譯成p-code,而由於p-code必須經由「解譯器」解譯後方可執行,
所以執行效能不及nativecode,為了改善這個缺點,VB5.0的新功能之一便是:將程式編譯成nativecode。
據微軟宣稱,由於使用了nativecode,VB5的程式平均要比VB4的程式快20倍以上。
沒有留言:
張貼留言