技术层面看<易语言>与<易飞扬>:
易已经推出已经很多年了 +之最近 易飞扬的推出.因此不免评价一番,作为第一个稍微看的顺延的中文语言:
我曾经在有些言论中提到过易编译器很 '垃圾'.因此有不少人对我很不满意,但是依然固执己见,并对此进行一个简单的分析,为什么我会得出这个结论.
我们首先还是就易语言先进行一个分析: 首先我们选取官方的一个例子:
拥有自己的编译器
易语言拥有自己独立的高质量编译器,源程序被直接编译为目的机器的CPU指令,不存在任何速度瓶颈和安全隐患。

讯享网
编译器是编程语言中最核心最关键的部分,易语言的编译器不仅效率高,而且可以编译出与操作系统平台无关的可执行代码。


然后我们对这个例子稍加改动:
.版本 2
.子程序 __启动窗口_创建完毕
Test1 ()
Test2 ()
.子程序 Test1
.局部变量 累加变量, 整数型
.局部变量 时间, 整数型
时间 = 取启动时间 ()
累加变量 = 0
.计次循环首 (, )
累加变量 = 累加变量 + 1
.计次循环尾 ()
时间 = 取启动时间 () - 时间
输出调试文本 (“Test1 Time Spend ” + 到文本 (时间) + “ MS”)
.子程序 Test2
.局部变量 累加变量, 整数型
.局部变量 时间, 整数型

时间 = 取启动时间 ()
累加变量 = 0
.计次循环首 (, )
累加变量 = 累加变量 + 2 - 1
.计次循环尾 ()
时间 = 取启动时间 () - 时间
输出调试文本 (“Test1 Time Spend ” + 到文本 (时间) + “ MS”)
注意Test1 与 Test 2的区别
我仅仅将+1 换成了 + 2 - 1.大家可以试图先猜测一下所花费的时间.
开始运行被调试易程序
* Test1 Time Spend 219 MS
* Test1 Time Spend 2386 MS
被调试易程序运行完毕
结果是不是另你吃了一惊?差了整整10倍。这里我都不去和C++ C语言甚至Delphi,C# 甚至VB这些比了。结果大家都知道。又是一个10倍的差距。
如果算一般的解释语言的话:如果差两倍还想得通。我们还是来看看汇编码:
Test1子程序的汇编码:
004032E9 55 push ebp
004032EA 8BEC mov ebp,esp
004032EC 81EC sub esp,24
004032F2 C745 FC 00000000 mov dword ptr ss:[ebp-4],0
004032F9 C745 F8 00000000 mov dword ptr ss:[ebp-8],0
00 68 00000000 push 0
00 BB 0 mov ebx,308
0040330A E8 5A010000 call E与EF.00
0040330F 83C4 04 add esp,4
00 8945 FC mov dword ptr ss:[ebp-4],eax
00 C745 F8 00000000 mov dword ptr ss:[ebp-8],0
0040331C 33C9 xor ecx,ecx
0040331E 41 inc ecx
0040331F 51 push ecx
00 81F9 00E1F505 cmp ecx,5F5E100
00 0F8F 0 jg E与EF.00
0040332C FF45 F8 inc dword ptr ss:[ebp-8]
0040332F 59 pop ecx
00 ^ EB EC jmp short E与EF.0040331E
00 83C4 04 add esp,4
00 68 00000000 push 0
0040333A BB 0 mov ebx,308
0040333F E8 call E与EF.00
00 83C4 04 add esp,4
00 8945 EC mov dword ptr ss:[ebp-14],eax
0040334A DB45 EC fild dword ptr ss:[ebp-14]
0040334D DD5D EC fstp qword ptr ss:[ebp-14]
00 DD45 EC fld qword ptr ss:[ebp-14]
00 DB45 FC fild dword ptr ss:[ebp-4]
00 DD5D E4 fstp qword ptr ss:[ebp-1C]
00 DC65 E4 fsub qword ptr ss:[ebp-1C]
0040335C DD5D DC fstp qword ptr ss:[ebp-24]
0040335F DD45 DC fld qword ptr ss:[ebp-24]
00 E8 5BFFFFFF call E与EF.004032C2
00 8945 FC mov dword ptr ss:[ebp-4],eax
0040336A 8BE5 mov esp,ebp
0040336C 5D pop ebp
0040336D C3 retn
Test2子程序的汇编码:
0040336E 55 push ebp
0040336F 8BEC mov ebp,esp
00 81EC sub esp,24
00 C745 FC 00000000 mov dword ptr ss:[ebp-4],0
0040337E C745 F8 00000000 mov dword ptr ss:[ebp-8],0
00 68 00000000
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/42843.html