这些保留字是什么意思? #define PASCAL pascal#define pascal __stdcall那么“__stdcall”是什么意思呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这些保留字好多的,好乱的:/***************************************************************************** ** windef.h -- Basic Windows Type Definitions ** ** Copyright (c) 1985-1997, Microsoft Corp. All rights reserved. ** *****************************************************************************/#ifndef _WINDEF_#define _WINDEF_#ifndef NO_STRICT#ifndef STRICT#define STRICT 1#endif#endif /* NO_STRICT */// Win32 defines _WIN32 automatically,// but Macintosh doesn't, so if we are using// Win32 Functions, we must do it here#ifdef _MAC#ifndef _WIN32#define _WIN32#endif#endif //_MAC#ifdef __cplusplusextern "C" {#endif#ifndef WINVER#define WINVER 0x0500#endif /* WINVER *//* * BASETYPES is defined in ntdef.h if these types are already defined */#ifndef BASETYPES#define BASETYPEStypedef unsigned long ULONG;typedef ULONG *PULONG;typedef unsigned short USHORT;typedef USHORT *PUSHORT;typedef unsigned char UCHAR;typedef UCHAR *PUCHAR;typedef char *PSZ;#endif /* !BASETYPES */#define MAX_PATH 260#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endif#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#define TRUE 1#endif#ifndef IN#define IN#endif#ifndef OUT#define OUT#endif#ifndef OPTIONAL#define OPTIONAL#endif#undef far#undef near#undef pascal#define far#define near#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))#define pascal __stdcall#else#define pascal#endif#if defined(DOSWIN32) || defined(_MAC)#define cdecl _cdecl#ifndef CDECL#define CDECL _cdecl#endif#else#define cdecl#ifndef CDECL#define CDECL#endif#endif#ifdef _MAC#define CALLBACK PASCAL#define WINAPI CDECL#define WINAPIV CDECL#define APIENTRY WINAPI#define APIPRIVATE CDECL#ifdef _68K_#define PASCAL __pascal#else#define PASCAL#endif#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)#define CALLBACK __stdcall#define WINAPI __stdcall#define WINAPIV __cdecl#define APIENTRY WINAPI#define APIPRIVATE __stdcall#define PASCAL __stdcall#else#define CALLBACK#define WINAPI#define WINAPIV#define APIENTRY WINAPI#define APIPRIVATE#define PASCAL pascal#endif#undef FAR#undef NEAR#define FAR far#define NEAR near#ifndef CONST#define CONST const#endiftypedef unsigned long DWORD;typedef int BOOL;typedef unsigned char BYTE;typedef unsigned short WORD;typedef float FLOAT;typedef FLOAT *PFLOAT;typedef BOOL near *PBOOL;typedef BOOL far *LPBOOL;typedef BYTE near *PBYTE;typedef BYTE far *LPBYTE;typedef int near *PINT;typedef int far *LPINT;typedef WORD near *PWORD;typedef WORD far *LPWORD;typedef long far *LPLONG;typedef DWORD near *PDWORD;typedef DWORD far *LPDWORD;typedef void far *LPVOID;typedef CONST void far *LPCVOID;typedef int INT;typedef unsigned int UINT;typedef unsigned int *PUINT;#ifndef NT_INCLUDED#include <winnt.h>#endif /* NT_INCLUDED *//* Types use for passing & returning polymorphic values */typedef UINT WPARAM;typedef LONG LPARAM;typedef LONG LRESULT;#ifndef NOMINMAX#ifndef max#define max(a,b) (((a) > (b)) ? (a) : (b))#endif#ifndef min#define min(a,b) (((a) < (b)) ? (a) : (b))#endif #endif /* NOMINMAX */#define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))#define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16))#define LOWORD(l) ((WORD)(l))#define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))#define LOBYTE(w) ((BYTE)(w))#define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))#ifndef WIN_INTERNALDECLARE_HANDLE (HWND);DECLARE_HANDLE (HHOOK);#ifdef WINABLEDECLARE_HANDLE (HEVENT);#endif#endiftypedef WORD ATOM;typedef HANDLE NEAR *SPHANDLE;typedef HANDLE FAR *LPHANDLE;typedef HANDLE HGLOBAL;typedef HANDLE HLOCAL;typedef HANDLE GLOBALHANDLE;typedef HANDLE LOCALHANDLE;#ifndef _MACtypedef int (FAR WINAPI *FARPROC)();typedef int (NEAR WINAPI *NEARPROC)();typedef int (WINAPI *PROC)();#elsetypedef int (CALLBACK *FARPROC)();typedef int (CALLBACK *NEARPROC)();typedef int (CALLBACK *PROC)();#endif#if !defined(_MAC) || !defined(GDI_INTERNAL)#ifdef STRICTtypedef void NEAR* HGDIOBJ;#elseDECLARE_HANDLE(HGDIOBJ);#endif#endif#if !defined(_MAC) || !defined(WIN_INTERNAL)DECLARE_HANDLE(HACCEL);#endif#if !defined(_MAC) || !defined(GDI_INTERNAL)DECLARE_HANDLE(HBITMAP);DECLARE_HANDLE(HBRUSH);#endif#if(WINVER >= 0x0400)DECLARE_HANDLE(HCOLORSPACE);#endif /* WINVER >= 0x0400 */#if !defined(_MAC) || !defined(GDI_INTERNAL)DECLARE_HANDLE(HDC);#endifDECLARE_HANDLE(HGLRC); // OpenGLDECLARE_HANDLE(HDESK);DECLARE_HANDLE(HENHMETAFILE);#if !defined(_MAC) || !defined(GDI_INTERNAL)DECLARE_HANDLE(HFONT);#endifDECLARE_HANDLE(HICON);#if !defined(_MAC) || !defined(WIN_INTERNAL)DECLARE_HANDLE(HMENU);#endifDECLARE_HANDLE(HMETAFILE);DECLARE_HANDLE(HINSTANCE);typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */#if !defined(_MAC) || !defined(GDI_INTERNAL)DECLARE_HANDLE(HPALETTE);DECLARE_HANDLE(HPEN);#endifDECLARE_HANDLE(HRGN);DECLARE_HANDLE(HRSRC);DECLARE_HANDLE(HSTR);DECLARE_HANDLE(HTASK);DECLARE_HANDLE(HWINSTA);DECLARE_HANDLE(HKL);#if(WINVER >= 0x0500)#ifndef _MACDECLARE_HANDLE(HMONITOR);DECLARE_HANDLE(HTERMINAL);DECLARE_HANDLE(HWINEVENTHOOK);#endif#endif /* WINVER >= 0x0500 */#ifndef _MACtypedef int HFILE;typedef HICON HCURSOR; /* HICONs & HCURSORs are polymorphic */#elsetypedef short HFILE;DECLARE_HANDLE(HCURSOR); /* HICONs & HCURSORs are not polymorphic */#endiftypedef DWORD COLORREF;typedef DWORD *LPCOLORREF;#define HFILE_ERROR ((HFILE)-1)typedef struct tagRECT{ LONG left; LONG top; LONG right; LONG bottom;} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;typedef const RECT FAR* LPCRECT;typedef struct _RECTL /* rcl */{ LONG left; LONG top; LONG right; LONG bottom;} RECTL, *PRECTL, *LPRECTL;typedef const RECTL FAR* LPCRECTL;typedef struct tagPOINT{ LONG x; LONG y;} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;typedef struct _POINTL /* ptl */{ LONG x; LONG y;} POINTL, *PPOINTL;typedef struct tagSIZE{ LONG cx; LONG cy;} SIZE, *PSIZE, *LPSIZE;typedef SIZE SIZEL;typedef SIZE *PSIZEL, *LPSIZEL;typedef struct tagPOINTS{#ifndef _MAC SHORT x; SHORT y;#else SHORT y; SHORT x;#endif} POINTS, *PPOINTS, *LPPOINTS;/* mode selections for the device mode function */#define DM_UPDATE 1#define DM_COPY 2#define DM_PROMPT 4#define DM_MODIFY 8#define DM_IN_BUFFER DM_MODIFY#define DM_IN_PROMPT DM_PROMPT#define DM_OUT_BUFFER DM_COPY#define DM_OUT_DEFAULT DM_UPDATE/* device capabilities indices */#define DC_FIELDS 1#define DC_PAPERS 2#define DC_PAPERSIZE 3#define DC_MINEXTENT 4#define DC_MAXEXTENT 5#define DC_BINS 6#define DC_DUPLEX 7#define DC_SIZE 8#define DC_EXTRA 9#define DC_VERSION 10#define DC_DRIVER 11#define DC_BINNAMES 12#define DC_ENUMRESOLUTIONS 13#define DC_FILEDEPENDENCIES 14#define DC_TRUETYPE 15#define DC_PAPERNAMES 16#define DC_ORIENTATION 17#define DC_COPIES 18#ifdef __cplusplus}#endif#endif /* _WINDEF_ */ 都定义在windef.h 。是一种约定。(与参数有关) 代码出现内存泄漏,找不出原因,帮忙看看吧 如何添加信息框 怎么在DLL程序中设断点调试? 今天生日,再放分! 急求!!!——人事管理系统文档资料 高手请看 :关于插入dll和挂接api 高手们,开发出拼蔽3721那个对话框的程序吧 c++基本问题 一个奇怪的问题(关于VC中使用数据库) 在win2k下怎样对硬盘和软盘的扇区直接读写? vc api 编程,想不用main()函数,编一个不是控制台 也没有窗口的程序!程序入口是什么?开头怎么写 内存泄漏问题
* *
* windef.h -- Basic Windows Type Definitions *
* *
* Copyright (c) 1985-1997, Microsoft Corp. All rights reserved. *
* *
****************************************************************************/
#ifndef _WINDEF_
#define _WINDEF_#ifndef NO_STRICT
#ifndef STRICT
#define STRICT 1
#endif
#endif /* NO_STRICT */// Win32 defines _WIN32 automatically,
// but Macintosh doesn't, so if we are using
// Win32 Functions, we must do it here#ifdef _MAC
#ifndef _WIN32
#define _WIN32
#endif
#endif //_MAC#ifdef __cplusplus
extern "C" {
#endif#ifndef WINVER
#define WINVER 0x0500
#endif /* WINVER *//*
* BASETYPES is defined in ntdef.h if these types are already defined
*/#ifndef BASETYPES
#define BASETYPES
typedef unsigned long ULONG;
typedef ULONG *PULONG;
typedef unsigned short USHORT;
typedef USHORT *PUSHORT;
typedef unsigned char UCHAR;
typedef UCHAR *PUCHAR;
typedef char *PSZ;
#endif /* !BASETYPES */#define MAX_PATH 260#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif#ifndef FALSE
#define FALSE 0
#endif#ifndef TRUE
#define TRUE 1
#endif#ifndef IN
#define IN
#endif#ifndef OUT
#define OUT
#endif#ifndef OPTIONAL
#define OPTIONAL
#endif#undef far
#undef near
#undef pascal#define far
#define near
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif#if defined(DOSWIN32) || defined(_MAC)
#define cdecl _cdecl
#ifndef CDECL
#define CDECL _cdecl
#endif
#else
#define cdecl
#ifndef CDECL
#define CDECL
#endif
#endif#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif#undef FAR
#undef NEAR
#define FAR far
#define NEAR near
#ifndef CONST
#define CONST const
#endiftypedef unsigned long DWORD;
typedef int BOOL;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BOOL near *PBOOL;
typedef BOOL far *LPBOOL;
typedef BYTE near *PBYTE;
typedef BYTE far *LPBYTE;
typedef int near *PINT;
typedef int far *LPINT;
typedef WORD near *PWORD;
typedef WORD far *LPWORD;
typedef long far *LPLONG;
typedef DWORD near *PDWORD;
typedef DWORD far *LPDWORD;
typedef void far *LPVOID;
typedef CONST void far *LPCVOID;typedef int INT;
typedef unsigned int UINT;
typedef unsigned int *PUINT;#ifndef NT_INCLUDED
#include <winnt.h>
#endif /* NT_INCLUDED *//* Types use for passing & returning polymorphic values */
typedef UINT WPARAM;
typedef LONG LPARAM;
typedef LONG LRESULT;#ifndef NOMINMAX#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
#define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16))
#define LOWORD(l) ((WORD)(l))
#define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
#define LOBYTE(w) ((BYTE)(w))
#define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))
#ifndef WIN_INTERNAL
DECLARE_HANDLE (HWND);
DECLARE_HANDLE (HHOOK);
#ifdef WINABLE
DECLARE_HANDLE (HEVENT);
#endif
#endiftypedef WORD ATOM;typedef HANDLE NEAR *SPHANDLE;
typedef HANDLE FAR *LPHANDLE;
typedef HANDLE HGLOBAL;
typedef HANDLE HLOCAL;
typedef HANDLE GLOBALHANDLE;
typedef HANDLE LOCALHANDLE;
#ifndef _MAC
typedef int (FAR WINAPI *FARPROC)();
typedef int (NEAR WINAPI *NEARPROC)();
typedef int (WINAPI *PROC)();
#else
typedef int (CALLBACK *FARPROC)();
typedef int (CALLBACK *NEARPROC)();
typedef int (CALLBACK *PROC)();
#endif#if !defined(_MAC) || !defined(GDI_INTERNAL)
#ifdef STRICT
typedef void NEAR* HGDIOBJ;
#else
DECLARE_HANDLE(HGDIOBJ);
#endif
#endif#if !defined(_MAC) || !defined(WIN_INTERNAL)
DECLARE_HANDLE(HACCEL);
#endif
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HBITMAP);
DECLARE_HANDLE(HBRUSH);
#endif
#if(WINVER >= 0x0400)
DECLARE_HANDLE(HCOLORSPACE);
#endif /* WINVER >= 0x0400 */
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HDC);
#endif
DECLARE_HANDLE(HGLRC); // OpenGL
DECLARE_HANDLE(HDESK);
DECLARE_HANDLE(HENHMETAFILE);
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HFONT);
#endif
DECLARE_HANDLE(HICON);
#if !defined(_MAC) || !defined(WIN_INTERNAL)
DECLARE_HANDLE(HMENU);
#endif
DECLARE_HANDLE(HMETAFILE);
DECLARE_HANDLE(HINSTANCE);
typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */
#if !defined(_MAC) || !defined(GDI_INTERNAL)
DECLARE_HANDLE(HPALETTE);
DECLARE_HANDLE(HPEN);
#endif
DECLARE_HANDLE(HRGN);
DECLARE_HANDLE(HRSRC);
DECLARE_HANDLE(HSTR);
DECLARE_HANDLE(HTASK);
DECLARE_HANDLE(HWINSTA);
DECLARE_HANDLE(HKL);#if(WINVER >= 0x0500)
#ifndef _MAC
DECLARE_HANDLE(HMONITOR);
DECLARE_HANDLE(HTERMINAL);
DECLARE_HANDLE(HWINEVENTHOOK);
#endif
#endif /* WINVER >= 0x0500 */#ifndef _MAC
typedef int HFILE;
typedef HICON HCURSOR; /* HICONs & HCURSORs are polymorphic */
#else
typedef short HFILE;
DECLARE_HANDLE(HCURSOR); /* HICONs & HCURSORs are not polymorphic */
#endiftypedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;#define HFILE_ERROR ((HFILE)-1)typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;typedef const RECT FAR* LPCRECT;typedef struct _RECTL /* rcl */
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECTL, *PRECTL, *LPRECTL;typedef const RECTL FAR* LPCRECTL;typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;typedef struct _POINTL /* ptl */
{
LONG x;
LONG y;
} POINTL, *PPOINTL;typedef struct tagSIZE
{
LONG cx;
LONG cy;
} SIZE, *PSIZE, *LPSIZE;typedef SIZE SIZEL;
typedef SIZE *PSIZEL, *LPSIZEL;typedef struct tagPOINTS
{
#ifndef _MAC
SHORT x;
SHORT y;
#else
SHORT y;
SHORT x;
#endif
} POINTS, *PPOINTS, *LPPOINTS;/* mode selections for the device mode function */
#define DM_UPDATE 1
#define DM_COPY 2
#define DM_PROMPT 4
#define DM_MODIFY 8#define DM_IN_BUFFER DM_MODIFY
#define DM_IN_PROMPT DM_PROMPT
#define DM_OUT_BUFFER DM_COPY
#define DM_OUT_DEFAULT DM_UPDATE/* device capabilities indices */
#define DC_FIELDS 1
#define DC_PAPERS 2
#define DC_PAPERSIZE 3
#define DC_MINEXTENT 4
#define DC_MAXEXTENT 5
#define DC_BINS 6
#define DC_DUPLEX 7
#define DC_SIZE 8
#define DC_EXTRA 9
#define DC_VERSION 10
#define DC_DRIVER 11
#define DC_BINNAMES 12
#define DC_ENUMRESOLUTIONS 13
#define DC_FILEDEPENDENCIES 14
#define DC_TRUETYPE 15
#define DC_PAPERNAMES 16
#define DC_ORIENTATION 17
#define DC_COPIES 18#ifdef __cplusplus
}
#endif#endif /* _WINDEF_ */