Visual Studio的SDK
Visual Studio 6.0自带的SDK是1998年的,目录为C:\Program Files\Microsoft Visual
Studio\VC98\,这里简记为VS6SDKDIR。
以下为打开vc6菜单tools->options->directories. 我们看到Platform为Win32,
Show directories for下拉列表框有以下四项:Executable files、Include files、Library
files、Source files。
(1)Include files的目录:VS6SDKDIR\Include,VS6SDKDIR \MFC\Include,VS6SDKDIR
\ATL\Include
(2)Library files目录:VS6SDKDIR\LIB,VS6SDKDIR \MFC\ LIB
(3)Source
files目录:VS6SDKDIR\MFC\SRC,VS6SDKDIR\MFC\Include,VS6SDKDIR\ATL\Include,VS6SDKDIR\CRT\
SRC
如果想更新VC++6.0的SDK,只要从微软网站上下载SDK
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
然后增加以下路径即可:
Executable files:你的platform安装路径\bin;你的platform安装路径\bin\winnt
Include
file:你的platform安装路径\include
Library files:你的platform安装路径\lib
Source
files:可添加也可不添加
配置完之后,可以调整各路径与原有路径的前后次序,因为编译和连接的时候是按照顺序寻找相应的include和lib。为了保证用上最新的,你可以把路径放在原来的配置中vc6自带的sdk路径前面。不过有时编绎会遇到你include的VC提供的.h文件语法什么的错误,这时候调整一下directory设置中sdk
includ路径和 vc include路径的顺序。再试一般就可以了。
从Windows 98起,Windows SDK叫Platform SDK,Visual Studio 2005的SDK目录为:C:\Program
Files\Microsoft Visual Studio 8\VC(VCInstallDir)
例如我们安装了Microsoft DirectX SDK (August 2006)后,利用DirectX Sample Browser
安装生成的EmptyProject C++(July2004),在Visual Studio
2005编译会出现找不到XInput.h头文件,这时我们必须添加DirectX SDK到VC++目录。
工具—>选项—>项目和解决方案—>VC++目录:
添加包含文件C:\Program Files\Microsoft DirectX SDK (August 2006)\Include
添加库文件C:\Program Files\Microsoft DirectX SDK (August 2006)\Lib\x86
这样就建立起了Visual Studio 2005+ DirectX SDK开发DirectX程序的环境。
#include头文件
函数调用出现在函数定义之前,或者调用在其他文件(如系统库)定义的函数,必须先
进行函数声明。系统函数按功能被分成几大类,对应每类函数有一个头文件,其中给出了这一类函数的原型声明。
假设我们在#include "test.h"声明了一个函数:void test(void),在HeaderDemo.cpp中
#include
"test.h",则在test.h中声明的test函数在当前文件的域内是可见的了。而关于test函数的具体定义(函数体)可以放在当前项目的任何一个文件test.cpp、aaa.cpp、xxx.cpp……中。函数的声明不是整个编译的发起者。编译器会按部就班遍历所有文件的。
#include <stdlib.h> //声明公共的系统标准函数
#include "MyPrg.h" //声明用户自定义的常量、变量及函数
第一种形式的#include指令告诉编译预处理程序在编译器自带的或外部库的头文件中
搜索要嵌入的文件,它们一般是系统提供的公共头文件,存放在系统目录中的include文件夹下,如VS2005中的C标
准库函数C:\Program Files\Microsoft Visual Studio
8\VC\include\stdlib.h(cstdlib),刚好在指定的VC++目录的第
一项(VCInstallDir)include。
第二种形式的#include指令告诉编译预处理指令现在当前子目录搜索要嵌入的文件,如
果没有找到文件,则在去搜索编译器自带或外部库的头文件。
库函数的头文件一般用第一种形式,因为这种访问比较快。