国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

是不是所有的高級編程語言都能編譯成匯編語言?

網(wǎng)友解答: 程序源碼被翻譯成機(jī)器碼之后才能被電腦執(zhí)行。通過匯編和反匯編,匯編語言和機(jī)器碼可以相互轉(zhuǎn)換。我的回答中就只說機(jī)器碼了。按照執(zhí)行方式大致可將程序語言分成三類: 編譯方式 將源代碼

網(wǎng)友解答:

程序源碼被翻譯成機(jī)器碼之后才能被電腦執(zhí)行。通過匯編和反匯編,匯編語言和機(jī)器碼可以相互轉(zhuǎn)換。我的回答中就只說機(jī)器碼了。按照執(zhí)行方式大致可將程序語言分成三類:

編譯方式 將源代碼翻譯成機(jī)器碼后執(zhí)行的方式。這種方式執(zhí)行速度快,但對操作系統(tǒng)有依存性。 混合方式 將源代碼翻譯成中間碼(如,字節(jié)碼)后,在有各OS上的虛擬機(jī)翻譯成其他語言或命令執(zhí)行?;蛘撸褂脤?shí)時(shí)編譯(JIT)轉(zhuǎn)換成機(jī)器碼后執(zhí)行。 解釋方式 將源代碼逐行翻譯成其他語言或命令后,加載該語言或命令的機(jī)器碼并執(zhí)行相應(yīng)的處理。該方式執(zhí)行速度慢,但編碼靈活,不用編譯直接執(zhí)行比較方便。

三種方式中以混合方式最為復(fù)雜難懂,下面著重說說混合方式

混合方式的例子

出于跨平臺的需要,Java采用了混合方式,Java源代碼先通過編譯,被翻譯成字節(jié)碼。字節(jié)碼不含有跟OS有關(guān)的信息。因此,編譯后的Java包可以在不同的系統(tǒng)上執(zhí)行。Java為不同的OS準(zhǔn)備了不同的JVM(Java虛擬機(jī))。JVM上有解釋器,可將字節(jié)碼逐行翻譯成由JVM提供的各種函數(shù)庫,并將以機(jī)器碼形式存在的函數(shù)庫加載到JVM的內(nèi)存中并執(zhí)行。由于解釋方式的速度較慢,Java為循環(huán)或使用頻度高的代碼提供了JIT(Just In Time)的編譯器。JIT可以把大段的代碼一次性翻譯成機(jī)器碼執(zhí)行,速度上要比純粹的解釋器高很多。

電腦執(zhí)行的所有程序都必須是由機(jī)器碼編成的。如果僅僅看程序語言的編譯結(jié)果,混合方式和解釋方式都可以看成沒有被編譯成機(jī)器碼也就是匯編語言。

網(wǎng)友解答:

匯編有匯編的編譯器!java也有java的編譯器!

最終都會編譯成機(jī)器碼,指令 供CPU調(diào)度!

所謂反匯編 無非就是把機(jī)器語言轉(zhuǎn)換為匯編語言代碼!還有一種就是反編譯 把編譯后程序集反編譯成高級語言代碼,已方便閱讀!

每個(gè)語言都有自己的優(yōu)勢和適應(yīng)場景!單片機(jī)編程用匯編和C比較多,運(yùn)行快,消耗硬件資源低!它可以直接操作內(nèi)存地址,比較接近硬件資源!

原我的回答對你有所幫助!

標(biāo)簽: