回 帖 发 新 帖 刷新版面

主题:VC++编译的程序体积太大

为什么用VC++写一个没有任何功能的WIN32窗体程序,编译后的体积有600多KB,但我用MASM写一个同样的程序却只有3KB左右,我用DASM分别反汇编它们,发现VC++写的程序引用了许多我并没有用到的API,多出了许多代码,而MASM写的则很简洁,没有任何多余的代码(写DLL也一样).

还有,我想知道Windows中的系统工具是用什么语言写的(例如Notepad),我曾反汇编过它们,好像不是用VC++写的,看起来很像MASM写的,不知道你们认为怎样?

我对VC++不是很熟,谢谢回答!

回复列表 (共12个回复)

11 楼

windows早期是使用ASM写的,后来全部使用C改写了(有些地方还保留了ASM,有些地方是使用AMS和C混合). 
所以现在看到的 Notepad 是使用C开发的, 使用了Windows的API,消息循环。程序看起来和Windows程序一样(这里的Windows程序是指非MFC的Windows SDK程序)
前几年的Windows源码泄漏里包含了这部分的完整代码

12 楼

语言归语言,翻译器归翻译器,连接器归连接器.
看来语言是用SDK来写的了,不知道代码里有没有类,翻译器用什么!~

PEiD:       Microsoft Visual C++ 7.0 Method2 [Debug]
连接器信息: 7.10

我来回复

您尚未登录,请登录后再回复。点此登录或注册