二进制翻译也是一种编译技术
二进制翻译也是一种编译技术 ,它与传统编译的差别在于其编译处理对象不同。
传统编译处理的对象是某一种高级语言,经过编译处理生成某种机器的目标代码;二进制翻译处理的对象是某种机器的二进制代码,该二进制代码是经过传统编译生成的,经过二进制翻译处理后生成另一种机器的二进制代码。
按照传统编译程序前端、中端和后端的划分,我们可以理解为二进制翻译是拥有特殊前端的编译器。
1 package Com.TableTest; 2 3 class Cat{ 4 int size; 5 6 void bark(){ 7 8 9 if(size>60){ 10 11 System.out.println("yet!"); 12 13 14 }else if(size>14){ 15 16 System.out.println("Hi!"); 17 18 19 }else{ 20 21 System.out.println("Hello!"); 22 23 24 } 25 26 } 27 } 28 public class TableText_12 { 29 public static void main(String[] args){ 30 31 Cat one = new Cat(); 32 one.size = 70; 33 Cat two = new Cat(); 34 two.size = 8; 35 Cat three = new Cat(); 36 three.size = 35; 37 38 one.bark(); 39 two.bark(); 40 three.bark(); 41 } 42 } 43 44 45 46 47