Porting: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Still need vertification
Baris 25:
== Kompiler porting ==
Alih-alih menerjemahkan langsung ke [[kode mesin]], [[kompiler]] modern menerjemahkan ke [[Bytecode|kode perantara]] mesin independen untuk meningkatkan portabilitas kompiler dan meminimalkan upaya desain. Bahasa perantara mendefinisikan ''[[mesin virtual]]'' yang dapat menjalankan semua program yang ditulis dalam [[Intermediate representation|bahasa perantara]] (sebuah mesin yang ditentukan oleh bahasanya dan sebaliknya).<ref name="Machinelanguage">{{harvnb|Tanenbaum|1984|p=3. §1.1 Languages,Levels, and Virtual Machines}} describes the terms and their relations.</ref> Instruksi kode perantara diterjemahkan ke dalam urutan kode mesin yang setara oleh sebuah ''generator'' ''kode'' untuk membuat [[Executable|kode yang dapat dieksekusi]]. Dimungkinkan juga untuk melewati pembuatan kode mesin dengan benar-benar menerapkan [[interpreter]] atau [[Just-in-time compilation|JIT]] untuk mesin virtual.<ref>{{harvnb|Tanenbaum|1984|p=2. Ch. 1 Introduction}} explains translation and interpretation.</ref>
 
Menurut para desainer bahasa [[BCPL]], kode yang diinterpretasikan (dalam kasus BCPL) lebih ringkas daripada kode mesin; biasanya dengan faktor dua banding satu. Namun kode yang diinterpretasikan berjalan sekitar sepuluh kali lebih lambat daripada kode yang dikompilasi pada mesin yang sama.<ref>{{harvnb|Richards|Whitby-Strevens|1984|p=136. §7.4.3 Example}} gives an example translation of a BCPL program into INTCODE for the interpreter.</ref>
 
Para perancang [[bahasa pemrograman Java]] mencoba memanfaatkan kekompakan kode yang diinterpretasikan, karena program Java mungkin perlu dikirim melalui Internet sebelum eksekusi dapat dimulai pada [[Mesin Virtual Java]] target.
 
== Porting permainan video ==