首页
社区
课程
招聘
[讨论]使用类会使编出来的EXE大小增加的程度是多少?
发表于: 2006-12-10 14:50 4981

[讨论]使用类会使编出来的EXE大小增加的程度是多少?

2006-12-10 14:50
4981
我看有些人写程序很喜欢用类,有些甚至用得太多,感觉有点过了

如果单从文件大小的角度上来说,用类太多肯定会是EXE变大的

但我想知道这个变大到底有多少影响,20K的程序用了10个以上类的话,调来调去使用比较多的话,不知道有多少体积是花在类上面的?

有些人的程序还是类里还加静态以方便回调使用,这是不是有点太那过了?

我这贴是从减小体积的角度来讨论的

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我觉得和c语言相比,c++中的类本身是不会增加代码长度的,教科书上都说了,类只是结构的一种增强.它的效果是运行效率低了一些,饶了很多弯弯.但换来的收益却太大太大太大了..~~

况且这年头谁还去考虑体积问题?而某些处于"特殊目的"而需要考虑体积问题的"特殊人员",也根本不需要去碰类这个东东.
2006-12-10 15:02
0
雪    币: 174
活跃值: (620)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
我现在就有这个问题,到底用不用类,当然,我不是写木马之类的害人的东东,我写的是移动设备上的

我的需求就是最小最快才行,已经写了N多了,都没有用类,直接使用的函数,但在多次使用时,确实可能有问题,特别是全局变量上,正在犹豫

没空研究类在EXE中的具体格式
2006-12-10 15:25
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
只要不用或少用模版和内联(包括类声明中写实现),C++类所带来的体积影响可以忽略.
如果要用标准库,使用DLL版就不会增大体积.
2006-12-10 16:44
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 指令CC 发布
我觉得和c语言相比,c++中的类本身是不会增加代码长度的,教科书上都说了,类只是结构的一种增强.它的效果是运行效率低了一些,饶了很多弯弯.但换来的收益却太大太大太大了..~~

况且这年头谁还去考虑体积问题?而某些处于"特殊目的"而需要考虑体积问题的"特殊人员",也根本不需要去碰类这个东东.


C++效率不低,并且如果不滥用楼上说的那些高级特性,体积不会增加太多.
2006-12-10 22:13
0
雪    币: 297
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
我觉得c++只是让编译器更忙了。
在产生的执行文件上和c相同,他们最后产生的都只是符号名和其对应的实体而已。
c++只是在编写阶段方便了程序员,使我们能更集中注意力去关心具体的实现,而把那些重复的,容易导致错误的事情交给编译器去处理。
2006-12-11 13:56
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
7
C++只是让编译器的更忙了,语言元素更多.
如果是C++在编写过程中,其中的类所实现的功能等于C所实现的,那么编译后大小几乎是一样的,但是很多时候为了弥补没有类带来的缺点,可能需要耗费一些额外的代码

如果类具有超越本程序所需的功能,那么毫无疑问,文件空间会被浪费.举个例子,用driverstudio生成的过滤驱动一般都在30K以上,而用DDK则6k左右,功能完全一样的一个驱动C++版38K,C版9K.
2006-12-11 19:28
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
最初由 默数悲伤 发布
我觉得c++只是让编译器更忙了。
在产生的执行文件上和c相同,他们最后产生的都只是符号名和其对应的实体而已。
c++只是在编写阶段方便了程序员,使我们能更集中注意力去关心具体的实现,而把那些重复的,容易导致错误的事情交给编译器去处理。


并非相同。

另外,C/C++的标准类库/函数库是非常高效的(高效的话,体积就不会大),所以,不需要太担心
2006-12-12 10:51
0
游客
登录 | 注册 方可回帖
返回
//