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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不包含SDK头文件, 补全API定义相关的知识,希望对你有一定的参考价值。

[cpp] view plain copy
 
 技术分享技术分享
  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定义的主要内容,如果未能解决你的问题,请参考以下文章

c++头文件和cpp文件的关系

C++ 头文件约定

结构体 c++ 如何定义结构体 在1.cpp 中, 结构体变量值放在2.cpp, 在3.cpp中使用结构体?

包含头文件的困惑

C++ 预处理器包含并定义多个文件的问题

在头文件中写好了一个函数,vs中哪个快捷键可以在.cpp中生成函数的定义