No MFC 编程01 - 最精简的 win32 程序

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

这里介绍不用 mfc 的 win32 编程

下面要用 VC 做一个最精简的 Win32 程序,请不要见笑,可以用来做框架嘛!

第一阶段:

精简的代码不多,见下面源程序

// fileName: WinMain.cpp

//指定下一句为加快编译速度

#define WIN32_LEAN_AND_MEAN // Say No to MFC !!

#include <windows.h>

int WINAPI WinMain ( HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine, int nCmdShow ) // 参数是固定格式,没办法省略

{

// 如果想证明程序做过什么,去掉下面的 双斜杠,(太基本) 不多说了。

// MessageBox( NULL, " Hello world ", "Simple_Code by Temp77", MB_OK );

ExitProcess(0);

return NULL; // 为了完整而保留,不要也没错

}

用向导开一个空的 Win32 工程,加到里面去就是了,编译一下, 0 error(s), 0 warning(s)。

第一阶段完

第二阶段:

( 以下讲的内容我从网上一篇文章找来,对我很有用。)

既然是最精简的程序,现在还有什么不够呢?哦,对了,是体积太大了,你可以想象几乎什么都不做的程序有 28K 吗?

于是准备对程序的工程文件动手术吧。

先去掉 debug 属性,方法在菜单栏的 ( Build -> Configurations... 里面 ) 将 ( Win32 Debug ) Remove 掉。

再重设 Link 设定,方法在菜单栏的 ( Project -> Settings... 里面 ) ,选中 Link 选项卡。

在 " Ignore all default libraries " 前的选项里打勾,又把 " Object/library modules: " 下编辑框里的一大串全部删掉,重新填上 " kernel32.lib user32.lib msvcrt.lib " ( 手术进行中... )

最后,看到 " Project Options: " 下的编辑框没有,是不是有长长的一大串呢?不过,请不要删除它,只在最后追加一个空格,然后填上 " /ALIGN:4096 " 就可以声明最小的节大小了。( 手术完成 )

编译它看看,( Oh,多了一个 warning ,不管了 ) 实际生成的可执行文件有多大呢?对,你没有看错,是 3K !

好了,第二阶段结束。

本文对一些人有用,另一些则没用! 2002年9月27日 pm 5:42

----------------------------------------------

自我简介:

特 征:未到而立,刚到米七,语音略带磁性,性格开朗,有点顽皮,有点小聪明,准完美主义者 …

最 大 嗜 好 : 玩电子游戏 ( 梦想开发 Oni 连线版, 未玩过 Oni ? ohhh ! )

近来常挂嘴边: 变是相对的,不变也 …

爱用的编译器: VC + DX_SDK + api ( 戏称VC++ )

目前喜欢的歌: 周杰伦 - 星晴

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航