不包含SDK头文件, 补全API定义

[cpp]  view plain  copy
 
 在CODE上查看代码片
  1. /// @file main.cpp  
  2. /// @brief 不包含SDK头文件, 补全API定义  
  3.   
  4. #ifdef __cplusplus  
  5. extern "C" {  
  6. #endif /* __cplusplus */  
  7.       
  8. #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__* name  
  9. DECLARE_HANDLE(HWND);  
  10. DECLARE_HANDLE(HINSTANCE);  
  11.   
  12. #define WINAPI __stdcall  
  13. typedef char* LPSTR;  
  14. typedef const char* LPCSTR;  
  15. typedef unsigned int UINT;  
  16. #define NULL 0  
  17. #define MB_OK 0  
  18.   
  19. /// MessageBoxA 是CRT函数  
  20. __declspec(dllimport)  
  21. int  
  22. WINAPI  
  23. MessageBoxA(  
  24.             HWND hWnd ,  
  25.             LPCSTR lpText,  
  26.             LPCSTR lpCaption,  
  27.             UINT uType);  
  28.   
  29. #define MessageBox MessageBoxA  
  30.   
  31. #ifdef __cplusplus  
  32. }  
  33. #endif  /* __cplusplus */  
  34.   
  35. int WINAPI WinMain(HINSTANCE hInstance,  
  36.         HINSTANCE hPrevInstance,  
  37.         LPSTR     lpCmdLine,  
  38.         int       nCmdShow) {  
  39.     MessageBox(NULL, "test", "main", MB_OK);  
  40.   
  41.     return 0;  
  42. }  

http://blog.csdn.net/lostspeed/article/details/50590304

你可能感兴趣的:(不包含SDK头文件, 补全API定义)