一个例子搞明白编译型语言和解释型语言有啥区别!

国际惯例,首先看一下定义:
在这里插入图片描述
好了,看不懂。
很正常,如果看懂了就不需要往下看了。

现在我们举个例子,比如说有一本英文原著:
在这里插入图片描述
你英文不好,读不懂,所以需要翻译成中文再读。

那么现在有两种方式可供你选择:
方式一:全本翻译成中文,然后你直接读中文版的整书。
在这里插入图片描述

方式二:你想挑战一下自己,还是选择读英文原著,只不过你手头有一部英汉词典,你读一句翻译一句、读一句翻译一句……这样也能读下来,是吧?

在这里插入图片描述
其实,方式一,就是我们所谓的编译型语言;而方式二就是所谓的解释型语言。(再翻到最前面看一下定义,是不是就明白了?)


OK,那我们再来看编译型语言和解释型语言的优缺点:
编译型优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好    
编译型缺点:代码容需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行

翻译成人话就是:整本翻译的书读起来又快又爽,但是只能给中国人读,如果日本人想读的话就读不懂了,还得重新翻译一遍。

解释型优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行    
**解释型缺点:**运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程

翻译成人话就是:拿着词典一句一句翻译虽然起来慢,但是只要有对应语言的词典,任何国家的人都能读懂。


关注有好礼哦~

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一个有趣的例子是使用汇编语言C语言混合编程来实现一个简单的加密程序。具体过程如下: 1. 首先,使用C语言编写一个读取用户输入的字符串并将其存储到一个数组中的程序。 ```c #include <stdio.h> int main() { char str[100]; printf("Enter a string: "); scanf("%[^\n]", str); return 0; } ``` 2. 接下来,使用汇编语言编写一个简单的加密算法,该算法将输入字符串中的每个字符加上一个特定的值。 ```asm section .data key db 12 section .text global encrypt encrypt: push ebp mov ebp, esp mov esi, [ebp+8] ; esi 指向输入字符串 mov ecx, 0 loop_start: mov al, [esi+ecx] ; 从输入字符串中读取一个字符 add al, byte [key] ; 将字符加上特定值 mov [esi+ecx], al ; 将加密后的字符存回输入字符串 inc ecx cmp byte [esi+ecx], 0 ; 判断是否到达字符串末尾 jne loop_start pop ebp ret ``` 3. 最后,将C语言程序中读取到的字符串传递给汇编语言程序进行加密,并输出加密后的字符串。 ```c #include <stdio.h> extern void encrypt(char*); int main() { char str[100]; printf("Enter a string: "); scanf("%[^\n]", str); encrypt(str); printf("Encrypted string: %s\n", str); return 0; } ``` 在这个例子中,汇编语言C语言混合编程的有趣之处在于,我们可以使用汇编语言的低级特性来实现更高效的加密算法,同时仍然可以利用C语言的易读性和高级特性来实现用户输入和输出等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值