首页
社区
课程
招聘
[旧帖] [求助]用汇编语言或C语言写出的程序一样吗 0.00雪花
发表于: 2009-11-3 02:55 2263

[旧帖] [求助]用汇编语言或C语言写出的程序一样吗 0.00雪花

2009-11-3 02:55
2263
请教各位大虾,用汇编语言或C语言等各种高级语言编写同一结果的程序,反汇编出来的结果是一样的吗,

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不一样,不信就自己试试。
2009-11-3 06:41
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
编译器不同,出来的机器码也不同。反汇编回去应该也就不一样的。
2009-11-3 10:17
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
因该有区别吧
2009-11-3 13:09
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
应该不是一样的……
2009-11-5 18:20
0
雪    币: 7412
活跃值: (1957)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
不一样的,汇编语言是低级语言也是介于机器语言和高级语言中间的一种,它写出来的东西具有运行效率高,
代码程序小,代码简洁的特性,而C语言是高级语言的一种,写出来的程序相对汇编语言写的程序大小要大,
虽然源代码比汇编程序的源代码要小,但编译后的可执行程序远不如汇编语言的那么精简。易语言更不用说
单就它需要的支持库进行打包的方式,就足够笨拙,不论源代码或编译后的可执行程序大小都很大!

以上这些其反汇编完全不一样,虽然它们功能都一样,但反汇编出来的却大不相同!

但以上这些有一点一样,就比如一个以消息框形式的HELLOWORLD程序为例,其API 绝对会用到
  MessageBox , ExitProcess
这两个API !  呵呵 个人理解只做参考!
2009-11-6 09:51
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
汇编语言适合做对运行效率有严格要求的程序。但拿汇编写程序比用现在的高级语言写程序要繁琐的多也慢的多。
2009-11-6 09:57
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
由于电脑的速度提高,高级语言就流行开了
2009-11-6 10:54
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
六楼的兄弟,我还是不太明白。cpu提供的指令都是一样的,为什么两种语言反汇编出来的结果为什么不一样呢?除非是指令的顺序不一样而已啊,应该都是那些指令吧!
2009-11-6 18:41
0
雪    币: 7412
活跃值: (1957)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
呵呵不一样是正常的,就好像你要从福建去北京而我从天津去北京,虽然目的地相同,但出发点却不同
所经路程也自然不同!
2009-11-7 10:44
0
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
当然不一样咯,要不然汇编语言写的程序怎么运行效率一般比较高,
2009-11-18 16:17
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不一样吧,要是一样的话,就不太正常了吧
2009-11-18 20:44
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
汇编可以写出C实现的那种代码,
2009-11-19 09:55
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不一样。。。我以前就试过。用汇编和C写了一个HELLO WORLD 程序。一点也不一样。。汇编写的反汇编出来。都差不多。。但C变了很大!!!而且C程序比汇编大了好几倍!!
2009-11-19 15:44
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
虽说C和汇编的效率差不多,但是汇编写的代码和C反汇编出来的代码差别很大
一般情况下,操作硬件的话,要实现同样的功能,C的代码要大一些,不过C写的代码易读性要好一点
2009-11-19 23:41
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
汇编是低级编程语言,跟机器语言接近,C是高级语言,比较易读。
2009-11-20 08:58
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
是一样的的类,只是生成出来的东西可能效率上有写不同哦,列为高手会给你解答的
2009-11-20 17:48
0
雪    币: 1099
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
不一样!因为汇编是底层语言!是能被硬件运用的!
而高级语言是为了方便人编写程序的!编写出来的程序要计算机运行需经过编译过程!在这个编译过程中有有差别了!所以在反汇编的时候也就不一样了!
这个只是个人见解!
2009-11-20 18:14
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
C语言是一门高级语言,接近自然语言来描述。而汇编语言是一门低级语言,接近机器语言。它是用了一些指令助记符表示
2009-11-20 18:23
0
雪    币: 71
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
20
肯定不一样,编译器本身就不一样!
2009-11-20 19:36
0
雪    币: 174
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
不同语言编写的软件,其PE开头就不一样。反汇编后也不一样……(个人认为……)
2009-11-20 19:53
0
游客
登录 | 注册 方可回帖
返回
//