MSDN Library 2008 简体中文版 (2008 年 12 月版)
下载地址:http://www.cppprog.com/2009/0314/82.html 我试过可以下载的。
有.h是C里的;无.h是C++的,要用到名字空间。
//
MFC中使用动态库和静态库会有怎样的不同:
如果选择"在共享 DLL 中使用 MFC"的话,你编译后的程序中不包含MFC库,所以文件会比较小,但是如果你的程序直接移到一个没有安装过MFC的机器上时,可能会导致找不到MFC的DLL,如果选择"静态库中使用 MFC ",那你编译后的程序就直接包含了调用MFC的部分的库,文件可能会大一些,但是可以直接移到其他机器上运行.
一般都是选择“在共享 DLL 中使用 MFC”,这样程序少,而且Windows下大都有MFC的DLL.
测试应用程序各项功能,如果程序没有实现程序设计所要求的功能,启动Debug调试器进行调试,找出并修改程序设计中的逻辑错误。
//
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是 “pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的MFC实现文件第一条语句都是:#include "stdafx.h"
//
WINBASEAPI DWORD WINAPI 是什么意思?
对WINBASEAPI,WINAPI不断的goto defination就知道了
WINBASEAPI = DECLSPEC_IMPORT = __declspec(dllimport)
WINAPI = __stdcall
WINBASEAPI DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName); =
__declspec(dllimport) DWORD __stdcall GetFileAttributesA(LPCSTR lpFileName);