挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运IOS签名/udid证书出售/送证书加群1040456405 ██【我要租此广告位】██
... .
查看: 9206|回复: 22
打印 上一主题 下一主题

知道为毛易语言的程序大么,进来看吧 易语言与C++ 的对比

[复制链接]

4万

积分

622

主题

174

听众
已帮网友解决4 个问题
好评
1007
贡献
46895
海币
1119
交易币
2000

最佳新人活跃会员开荒者原创大师推广达人沙发王侦察队队长宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老在线王源码大师终身成就杰出贡献机器王评分大师回帖大师CM制造者CM杀手艺术大师签到达人土豪知识库

QQ
跳转到指定楼层
楼主
发表于 2014-5-24 14:31:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


今天闲来没事 分别用 易语言5.11 (以下简称E) 和 Visual C++ 6.0 (以下简称C++) 编写了 相同的代码 (MessageBoxA)
但是编译后 用OD 查看其汇编代码 表示很蛋疼



C++ 的汇编代码结构清晰 代码量少


而易语言代码浑浊 上跳下跳 占用不少字节(相对C++)

下面 我贴上 两个程序的汇编代码


C++:

00401005  /$ /E9 06000000   jmp Hello.WinMain
0040100A  |  |CC            int3
0040100B  |  |CC            int3
0040100C  |  |CC            int3
0040100D  |  |CC            int3
0040100E  |  |CC            int3
0040100F  |  |CC            int3
00401010 >|> \55            push ebp
00401011  |.  8BEC          mov ebp,esp
00401013  |.  83EC 40       sub esp,0x40
00401016  |.  53            push ebx
00401017  |.  56            push esi
00401018  |.  57            push edi
00401019  |.  8D7D C0       lea edi,[local.16]
0040101C  |.  B9 10000000   mov ecx,0x10
00401021  |.  B8 CCCCCCCC   mov eax,0xCCCCCCCC
00401026  |.  F3:AB         rep stos dword ptr es:[edi]
00401028  |.  8BF4          mov esi,esp
0040102A  |.  6A 00         push 0x0                                 ; /Style = MB_OK|MB_APPLMODAL
0040102C  |.  68 2C204200   push Hello.0042202C                      ; |Title = "C++"
00401031  |.  68 1C204200   push Hello.0042201C                      ; |Text = "Hello Word"
00401036  |.  6A 00         push 0x0                                 ; |hOwner = NULL
00401038  |.  FF15 ACA24200 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
0040103E  |.  3BF4          cmp esi,esp
00401040  |.  E8 3B000000   call Hello._chkesp
00401045  |.  33C0          xor eax,eax
00401047  |.  5F            pop edi
00401048  |.  5E            pop esi
00401049  |.  5B            pop ebx
0040104A  |.  83C4 40       add esp,0x40
0040104D  |.  3BEC          cmp ebp,esp
0040104F  |.  E8 2C000000   call Hello._chkesp
00401054  |.  8BE5          mov esp,ebp
00401056  |.  5D            pop ebp
00401057  \.  C2 1000       retn 0x10

占用字节 82 byte

E

00401150   .  83EC 64       sub esp,0x64
00401153   .  56            push esi
00401154   .  8B7424 74     mov esi,dword ptr ss:[esp+0x74]
00401158   .  57            push edi
00401159   .  8B7E 08       mov edi,dword ptr ds:[esi+0x8]
0040115C   .  57            push edi
0040115D   .  E8 AE830000   call E_langua.00409510
00401162   .  83C4 04       add esp,0x4
00401165   .  85C0          test eax,eax
00401167   .  74 10         je short E_langua.00401179
00401169   .  8D4424 08     lea eax,dword ptr ss:[esp+0x8]
0040116D   .  50            push eax
0040116E   .  56            push esi
0040116F   .  E8 2XFFFFFF   call E_langua.004010A0
00401174   .  83C4 08       add esp,0x8
00401177   .  EB 42         jmp short E_langua.004011BB
00401179   >  81FF 04000080 cmp edi,0x80000004                       ;  分支 (案例 80000002..80000004)
0040117F   .  75 04         jnz short E_langua.00401185
00401181   .  8B0E          mov ecx,dword ptr ds:[esi]               ;  案例 80000004 (SINGLE STEP) --> 分支 00401179
00401183   .  EB 3A         jmp short E_langua.004011BF
00401185   >  81FF 02000080 cmp edi,0x80000002
0040118B   .  75 12         jnz short E_langua.0040119F
0040118D   .  8B16          mov edx,dword ptr ds:[esi]               ;  案例 80000002 (DATATYPE MISALIGNMENT) --> 分支 00401179
0040118F   .  8D4C24 08     lea ecx,dword ptr ss:[esp+0x8]
00401193   .  51            push ecx
00401194   .  52            push edx
00401195   .  E8 C6470100   call E_langua.00415960
0040119A   .  83C4 08       add esp,0x8
0040119D   .  EB 1C         jmp short E_langua.004011BB
0040119F   >  81FF 03000080 cmp edi,0x80000003
004011A5   .  75 1C         jnz short E_langua.004011C3
004011A7   .  8B4E 04       mov ecx,dword ptr ds:[esi+0x4]           ;  案例 80000003 (BREAKPOINT) --> 分支 00401179
004011AA   .  8B16          mov edx,dword ptr ds:[esi]
004011AC   .  8D4424 08     lea eax,dword ptr ss:[esp+0x8]
004011B0   .  50            push eax
004011B1   .  51            push ecx
004011B2   .  52            push edx
004011B3   .  E8 D8400100   call E_langua.00415290
004011B8   .  83C4 0C       add esp,0xC
004011BB   >  8D4C24 08     lea ecx,dword ptr ss:[esp+0x8]
004011BF   >  85C9          test ecx,ecx
004011C1   .  75 09         jnz short E_langua.004011CC
004011C3   >  C64424 08 00  mov byte ptr ss:[esp+0x8],0x0            ;  分支 00401179 默认案例
004011C8   .  8D4C24 08     lea ecx,dword ptr ss:[esp+0x8]
004011CC   >  8B46 20       mov eax,dword ptr ds:[esi+0x20]
004011XF   .  BA 9C414700   mov edx,E_langua.0047419C
004011D4   .  85C0          test eax,eax
004011D6   .  74 03         je short E_langua.004011DB
004011D8   .  8B56 18       mov edx,dword ptr ds:[esi+0x18]
004011DB   >  8B46 0C       mov eax,dword ptr ds:[esi+0xC]
004011DE   .  8BF0          mov esi,eax
004011E0   .  F7D6          not esi
004011E2   .  81E6 00100000 and esi,0x1000
004011E8   .  8D0470        lea eax,dword ptr ds:[eax+esi*2]
004011EB   .  50            push eax                                 ; /Style
004011EC   .  52            push edx                                 ; |Title
004011ED   .  51            push ecx                                 ; |Text
004011EE   .  6A 00         push 0x0                                 ; |hOwner = NULL
004011F0   .  FF15 A0334600 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
004011F6   .  5F            pop edi
004011F7   .  83F8 03       cmp eax,0x3                              ;  分支 (案例 2..7)
004011FA   .  5E            pop esi
004011FB   .  75 0F         jnz short E_langua.0040120C
004011FD   .  8B4C24 68     mov ecx,dword ptr ss:[esp+0x68]          ;  案例 3 --> 分支 004011F7
00401201   .  B8 02000000   mov eax,0x2
00401206   .  8901          mov dword ptr ds:[ecx],eax
00401208   .  83C4 64       add esp,0x64
0040120B   .  C3            retn
0040120C   >  83F8 02       cmp eax,0x2
0040120F   .  75 0F         jnz short E_langua.00401220
00401211   .  8B5424 68     mov edx,dword ptr ss:[esp+0x68]          ;  案例 2 --> 分支 004011F7
00401215   .  B8 01000000   mov eax,0x1
0040121A   .  8902          mov dword ptr ds:[edx],eax
0040121C   .  83C4 64       add esp,0x64
0040121F   .  C3            retn
00401220   >  83F8 05       cmp eax,0x5
00401223   .  75 0F         jnz short E_langua.00401234
00401225   .  8B4C24 68     mov ecx,dword ptr ss:[esp+0x68]          ;  案例 5 --> 分支 004011F7
00401229   .  B8 04000000   mov eax,0x4
0040122E   .  8901          mov dword ptr ds:[ecx],eax
00401230   .  83C4 64       add esp,0x64
00401233   .  C3            retn
00401234   >  83F8 07       cmp eax,0x7
00401237   .  75 0F         jnz short E_langua.00401248
00401239   .  8B5424 68     mov edx,dword ptr ss:[esp+0x68]          ;  案例 7 --> 分支 004011F7
0040123D   .  B8 06000000   mov eax,0x6
00401242   .  8902          mov dword ptr ds:[edx],eax
00401244   .  83C4 64       add esp,0x64
00401247   .  C3            retn
00401248   >  83F8 06       cmp eax,0x6
0040124B   .  75 0F         jnz short E_langua.0040125C
0040124D   .  8B4C24 68     mov ecx,dword ptr ss:[esp+0x68]          ;  案例 6 --> 分支 004011F7
00401251   .  B8 05000000   mov eax,0x5
00401256   .  8901          mov dword ptr ds:[ecx],eax
00401258   .  83C4 64       add esp,0x64
0040125B   .  C3            retn
0040125C   >  33D2          xor edx,edx                              ;  分支 004011F7 默认案例
0040125E   .  8B4C24 68     mov ecx,dword ptr ss:[esp+0x68]
00401262   .  83F8 04       cmp eax,0x4
00401265   .  0F95C2        setne dl
00401268   .  4A            dec edx
00401269   .  83E2 03       and edx,0x3
0040126C   .  8BC2          mov eax,edx
0040126E   .  8901          mov dword ptr ds:[ecx],eax
00401270   .  83C4 64       add esp,0x64
00401273   .  C3            retn

占用字节 291 byte

联系我时,请说是在 挂海论坛 上看到的,谢谢!



下一篇:[源码] [源码发布帖子] 获取电脑U盘序列号ID源码
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

0

积分

1

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
-1
海币
2415
交易币
0
沙发
发表于 2014-7-1 17:09:00 | 只看该作者
感恩无私的分享与奉献 :)

0

积分

0

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
0
海币
710
交易币
0
板凳
发表于 2014-7-12 15:54:00 | 只看该作者
看看 再说 拿分
6高级会员
653/1100

653

积分

226

主题

6

听众
已帮网友解决0 个问题
好评
0
贡献
427
海币
10778
交易币
0
地板
发表于 2014-7-25 16:31:21 | 只看该作者
没啥说的先顶在下!!!!!!!!!!

86

积分

23

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
63
海币
499
交易币
0
5#
发表于 2014-8-17 02:46:10 | 只看该作者
强烈支持楼主ing……

23

积分

14

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
9
海币
449
交易币
0
6#
发表于 2014-9-4 06:30:59 | 只看该作者
支持一下......

0

积分

0

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
0
海币
-2
交易币
0
7#
发表于 2014-9-24 04:05:11 | 只看该作者
楼主 有想法
3正式会员
128/300

128

积分

51

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
77
海币
6700
交易币
0
8#
发表于 2014-12-21 08:39:00 | 只看该作者
楼猪V5啊
8资深会员
1320/1800

1320

积分

286

主题

38

听众
已帮网友解决0 个问题
好评
11
贡献
1034
海币
3749
交易币
5
9#
发表于 2015-1-4 05:41:41 | 只看该作者
真是难得给力的帖子啊。
8资深会员
1320/1800

1320

积分

286

主题

38

听众
已帮网友解决0 个问题
好评
11
贡献
1034
海币
3749
交易币
5
10#
发表于 2015-1-7 18:28:18 | 只看该作者
不错 支持一个了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-4-5 11:07 , Processed in 0.150024 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表