微软的库的头文件

来源:互联网 发布:jenkins源码下载 编辑:程序博客网 时间:2024/05/24 16:17

一、微软的库的头文件是大写,外来库是小写;系统已有的使用<>,附加的使用""。例如:

#include <CONIO.H>#include <AFX.H>#include <WINDOWS.H>#include "7.37.0/include/curl/curl.h"

不过在本文下文中并未全部达到这个规范。

二、STDAFX.H
STDAFX.H的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)。
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。stdafx.h中没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。
在STDAFX.H文件里面,引入文件的前后顺序是必须注意的,否则编译会出错。

三、CONIO.H
conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

四、MSVCRT.DLL
strcpy_s是strcpy的安全版本,它之所以安全,是因为其在拷贝字符串的时候会有越界的检查工作。s是security enhancements或safe的意思。类似的函数还有wcscpy_s, _mbscpy_s,strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l,strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s,_mbsncpy_s_l。需要较高版本的STRING.H/MBSTRING.H,可以用windows.h代替,参考资料https://msdn.microsoft.com/zh-cn/library/td1esda9(v=vs.80).aspx、http://www.cnblogs.com/renyuan/p/5031100.html

五、AFX.H

Application Framework Extensions(应用程序框架的扩展)。AFX.H里面定义都是CObject及其派生类,还有文件类、时间类、异常类、字符串类等等,都是与窗口无关的类。
在非MFC工程中如何使用:必须在#include <Windows.h>之前#include <afx.h>,在STDAFX.H文件中的顺序也是。MFC工程是默认引入的。
以CString类为例,在VC6里,CString是普通类,而之后的版本中就变成模板类了,目的是使用方便。所以VC6中是afx.h,从VC7开始是atlstr.h(注意不是atlafx.h)。在VC6里使用CString类:http://zhidao.baidu.com/question/47834487.html

六、AFXWIN.H
AFXWIN.H里面包括Cwnd、CWinApp以及各种控件类,显然都是与窗口有关的类。MFC工程是默认引入的,AFXWIN.H还会引入AFX.H。

0 0
原创粉丝点击