房地产公司C++ WINDOWS API 如何用NMAKE和CL编译

目录

1       简单的Windows API代码示例… 1

2       安装环境和分析… 1

3       设置也眼前DOS窗口环境体系变量… 2

配置信息… 2

设置信息… 3

4       运行效果… 3

安系统环境变量信息… 3

NMAKE编译… 3

CL编译… 5

5       小结… 5

 

 

 

 

1       简单的Windows API代码示例

/*--------------------------------------------------------------HelloMsg.c -- Displays "Hello, Windows 98!" in a message box
(c) Charles Petzold, 1998
--------------------------------------------------------------*/
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0) ;
return 0 ;
}

分析:

  1. windows.h头文件要包含
  2. messagebox 用包含windows
    api,需要user32.lib,在C:\WINDOWS\system32,其中包含了ulib.dll、user32.lib、kernel32.dll等。

编译时,系统自动寻user32.lib,代码用以下写法:

#include <windows.h>
#pragma comment(lib,"user32.lib")

编译时,手动添加,则编译时要以下写法:

cl hellomsg.c user32.lib
  1. 代码运行示例

NMAKE运行:

nmake hellomsg.mak

CL运行:

cl hellomsg.c user32.lib

 

2       安装环境暨析

免设置Microsoft Platform
SDK,因为安VS2008业内版(非EXPRESS版本的)已经包含了Microsoft
Platform SDK与编译器,因无应用Microsoft Platform SDK都得以编译C或C++。

安装之VS2008专业版中,C:\Program Files,其中含有了2独公文:

文件名称

文本夹内容

Microsoft SDKs

  1. Microsoft SDKs→Windows→V6.0A→bin、include、lib

微软软件开发工具确保(SDK),它提供文档的链接,代码示例,工具,标题,库,和另外文件,开发人员可以运用她来创造软件应用程序及库房。

Microsoft Visual Studio 9.0

  1. Microsoft Visual Studio
    9.0→VC→Bin(内产生NAMKE,CL编译器和LINK链接器)、Include、lib

 

  1. Microsoft Visual Studio
    9.0→Common7→IDE(msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv,生成*.obj、*.pdb,如图1)

Visual Studio 是微软公司产的支出条件

 房地产公司 1

图1

3       设置也当前DOS窗口环境体系变量

3.1部署信息

要为此DOS窗口编译(如果设置了Microsoft Platform
SDK,根据以下配置信息即可再次简明编译):

路径

文件内容

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin

 

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include

包含windows.h头文件

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

编译时需要的SDK的LIB

C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

 

C:\Program Files\Microsoft Visual Studio 9.0\VC\include

 

C:\Program Files\Microsoft Visual Studio 9.0\VC\lib

 

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE

生成*.obj、*.pdb

3.2设置信息

每当DOS窗口运行(在时下窗口,环境体系变量有效;当然为足以经自我之微机属于性值固定它,这里少未稳定):

set path=%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\bin;%ProgramFiles%\Microsoft Visual Studio 9.0\VC\bin;%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE;
set include=%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Include;%ProgramFiles%\Microsoft Visual Studio 9.0\VC\include;
set lib=%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Lib;%ProgramFiles%\Microsoft Visual Studio 9.0\VC\lib;

 

 

 

4       运行效果

4.1安装系统环境变量信息

G:\>set path=C:\WINDOWS\system32;C:\Program Files\Microsoft SDKs\Windows\v6.0A\b
in;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\Microsof
t Visual Studio 9.0\Common7\IDE;
G:\>set include=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include;C:\Program
Files\Microsoft Visual Studio 9.0\VC\include;
G:\>set lib=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib;C:\Program Files\M
icrosoft Visual Studio 9.0\VC\lib;

 

4.2NMAKE编译

G:\>nmake hellomsg.mak
Microsoft (R)  程序维护实用工具  9.00.21022.08  版
版权所有  (C) Microsoft Corporation。保留所有权利。
No configuration specified. Defaulting to HelloMsg - Win32 Debug.
Warning: cannot find "HelloMsg.dep"
if not exist ".\Debug/" mkdir ".\Debug"
cl.exe @C:\DOCUME~1\ZHYONG~1\LOCALS~1\Temp\nmB1.tmp
cl:  命令行  warning D9035 :“GX”选项已否决,并将在将来的版本中移除
cl:  命令行  warning D9036 :使用“EHsc”而不使用“GX”
cl:  命令行  warning D9002 :忽略未知选项“/MLd”
cl:  命令行  warning D9002 :忽略未知选项“/YX”
HelloMsg.c
link.exe @C:\DOCUME~1\ZHYONG~1\LOCALS~1\Temp\nmB2.tmp
LINK : warning LNK4044:  无法识别的选项“/pdbtype:sept”;已忽略
G:\>

 

(因为此地是直接从VS房地产公司2008
HelloMsg的MakeFile文件直接Copy过来的,所以会见产出部分有关以VS2008
运行的waring信息,MakeFile文件大家可以好写)

开拓Debug调试运行HelloMsg:

 房地产公司 2

4.3 CL编译

G:\>cl hellomsg.c user32.lib
用于  80x86  的  Microsoft (R) 32  位  C/C++  优化编译器  15.00.21022.08  版
版权所有(C) Microsoft Corporation。保留所有权利。
hellomsg.c
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
/out:hellomsg.exe
hellomsg.obj
user32.lib

 房地产公司 3

5       小结

发源文件下充斥:http://files.cnblogs.com/yongfeng/HelloMsg.rar

PDF下载:http://files.cnblogs.com/yongfeng/WINDOWSAPI.rar

相关文章