PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Soft_Job
Re: [請益] 想不通直譯器vs編譯器vs機器碼的問題
作者:
peanut97
(丁丁)
2018-05-08 21:43:55
※ 引述《dragoncfe168 (梅長蘇)》之銘言:
: 請問一下
: 為何直譯器將source code轉譯成機器碼,
: 不會產生不同電腦的機器語言不同 而無法執行的問題???
: 反觀同樣把source code轉譯成機器碼的編譯器
: 卻會有此類問題呢???
我猜你想說的是
c++ 的程式要分別用 windows 的編譯器轉成機器碼才能在 windows 執行,或是用 Linux 的編譯器轉成機器碼才能在 Linux 上執行。
但是像 Python, PHP 或 Javascript 這種用直譯器的語言,為什麼就可以只用一個 PHP 就能達到跨平台?
其實也是有分啦。你在 Windows 裝的 PHP 直譯器程式,跟在 Linux 上裝的 PHP 直譯器程式就是不一樣的了。跟機器相依的部分,就是那個專屬平台的直譯器幫你解決掉了。
作者:
dragoncfe168
(梅長蘇)
2018-05-08 22:13:00
我的疑問是針對java的jvm透過直譯器轉成的機器碼..卻可以跨平台 感到不解jvm的編譯器把source code轉成byte code來跨平台這我可以理解 但是當jvm再把byte code直譯成機器碼來讓任何實體主機電腦可以run 達成跨平台 感到不解所以 我歸納出一個假設結論:直譯器是可以跨平台而編譯器是無法跨平台的...不知我的結論是否正確呢??
作者:
taffy128s
(imcorn)
2018-05-08 22:24:00
不同平台有不同的jvm 我記得是這樣
作者: eddie55020 (eddie)
2018-05-08 22:27:00
bytecode跨平台,但轉出來的機械碼不是啊,所以要針對不同的機器寫不同的jvm
作者:
ripple0129
(perry tsai)
2018-05-08 22:28:00
直譯器本身你覺得有跨平台嗎。沒有的話是不是直譯器是各系統各自編自己的直譯器。
作者:
er230059
(CQH)
2018-05-08 22:37:00
不同平台的JVM是不同的JVM阿
作者:
weiyucsie
(選擇那刻 才算開始)
2018-05-09 10:39:00
http://0rz.tw/YOhgp
右圖看到"jvm的編譯器"之類的文字感覺怪怪的XD因為感覺是在說javac之類的,但是那不在 jvm
繼續閱讀
[請益] 想不通直譯器vs編譯器vs機器碼的問題
dragoncfe168
[請益]
[email protected]
放入google表單
Norths
[徵才] 悠遊網路科技 誠徵iOS工程師
on9bb
[徵才] Moneybook徵資深後端工程師(Python)(800K+
foreest
[徵才] 亞太普惠誠徵RoR後端工程師
john0312
[請益] 怎樣的XPath語法可以較快找到element
FacetheFaith
[請益] 程式的命名與coding style討論
allenwang15
[徵才] RW 代外商徵Product Manager/ Growth Mgr
arashi233
[徵才] RW 代外商徵Senior Java Engineer
arashi233
[請益] 台灣彩卷 系統作業工程師
ginmin1201
Links
booklink
Contact Us: admin [ a t ] ucptt.com