用VC编写小型号黑客程序
2007-03-21 09:02
218 查看
通常vc++编译出来的程序体积很大,debug模式的程序的最小体积一般都在100KB以上。这使不少人对VC++有了不好的印象,以为VC++是制造麻烦的工具。其实情况并不是这样,我们可以通过一些办法有效的减少执行程序的体积。
下面通过一个具体的范例给你讲述:
1,首先我们打开vc++建立一个Win32 Application,工程名随便,接下来选择“a Typical "hello World" application”(因为是范例,所以以hello world为标准)
2,选择编译方式为Win32 - Release. 这时候你编译程序,生成的执行程序是28kb(如果你的机器感染了病毒,体积可能会大一些,如果我的机器感染了病毒,而你的机器正常,你的执行程序可能会小一些...这些全都是废话)
3,选择菜单:Project->Settings(或者按Alt+F7),打开Link属性页。将Object/library modules:下面编辑框中的各种lib全部删除,然后打上MSVCRT.LIB kernel32.lib user32.lib
此后编译程序,生成的执行程序为20kb(此时编译程序会出现警告:LINK : warning LNK4098: default lib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library不必理会,如果你想去掉警告,就在Ignore all default libraries前打勾)
4,接着上面,在Project->Settings的Link属性页里,在Project Options下面的编辑框里加上一句:/ALIGN:4096 这样做之后指定了程序不是驱动程序
此后编译程序,生成的执行程序为6.5KB
PS:设置入口函数后可以让程序变的更小:
Project ->Settings的Link选项里Category选Output 在Entry-point symbol添写你主程序的入口函数
减肥总结:选择恰当的编译模式,去掉不必要的库
下面通过一个具体的范例给你讲述:
1,首先我们打开vc++建立一个Win32 Application,工程名随便,接下来选择“a Typical "hello World" application”(因为是范例,所以以hello world为标准)
2,选择编译方式为Win32 - Release. 这时候你编译程序,生成的执行程序是28kb(如果你的机器感染了病毒,体积可能会大一些,如果我的机器感染了病毒,而你的机器正常,你的执行程序可能会小一些...这些全都是废话)
3,选择菜单:Project->Settings(或者按Alt+F7),打开Link属性页。将Object/library modules:下面编辑框中的各种lib全部删除,然后打上MSVCRT.LIB kernel32.lib user32.lib
此后编译程序,生成的执行程序为20kb(此时编译程序会出现警告:LINK : warning LNK4098: default lib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library不必理会,如果你想去掉警告,就在Ignore all default libraries前打勾)
4,接着上面,在Project->Settings的Link属性页里,在Project Options下面的编辑框里加上一句:/ALIGN:4096 这样做之后指定了程序不是驱动程序
此后编译程序,生成的执行程序为6.5KB
PS:设置入口函数后可以让程序变的更小:
Project ->Settings的Link选项里Category选Output 在Entry-point symbol添写你主程序的入口函数
减肥总结:选择恰当的编译模式,去掉不必要的库
相关文章推荐
- Eclipse下利用VC编译器编写C/C++程序
- 使用VC2005/2008/2010编写的程用程序 部署时不需要安装运行库的方法
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- VC++ 6.0下编写COM客户程序的三种方法
- VC中编写打印程序
- VC++下使用ADO编写数据库程序
- VC编写在windows7下以管理员权限运行的程序
- VC++下使用ADO编写数据库程序
- VC中编写打印程序
- vc 下编写的 Windows窗口小程序 计算机
- VC:简单聊天室程序1 --- 多线程编写网络聊天室程序
- VC++下使用ADO编写数据库程序
- 用VC编写Ftp客户程序
- 一个带系统托盘的VC++程序编写方法
- 孙鑫VC学习笔记:第十五讲 编写一个基于MFC对话框的聊天程序
- VC2005和VC2008编写的程序的发布方法
- VC编写的程序不能在其他机器上运行的解决方案
- vc编写简易画图程序
- VC编写的程序不能在其他机器上运行的解决方案
- VC控件MSComm编写串口通信程序(转)