编译就是翻译的意思。比如将中文翻译成英文,将英文翻译成中文,这都可以说是编译。如果说将英文翻译成中文是编译的话,那么将中文翻译成英文就称反编译,这是围绕的是只会中文的人来说。
这里我们讲讲计算机上说的编译和反编译。
早期的计算机没有任何计算机语言,当时候的计算机只能识别0101,所以人们只能用一长串的0101给计算机输入,计算机才能很好的和人进行交互,0101就被称为机器语言。
后来汇编语言的出现,才使得有计算机领域上有了“编译”的概念,汇编语言也就是机器语言的进步。之后人们就不需要去记毫无逻辑、难记的0101数据串了。可以用mav等汇编指令代替了0101。那么我们就有疑问了,计算机只能识别0101指令,那么用mav指令计算机怎么知道要干嘛?
写过汇编语言的同学都知道,写完汇编代码后,就masm.exe去执行代码,这一步就叫做编译,是用masm.exe去将汇编代码翻译成机器语言,将汇编语言通过masm.exe程序翻译成机器语言,这个过程就叫做编译,而masm.exe就称编译程序,编译的结果是机器语言。反编译就是编译反方向编译。