各位大侠,小弟是一初手,才看VC两天,有几个疑问想问问各位老兄:
1、在使用消息处理函数时
    有的书是这样申明 :LRESULT CALLBACK WndProc(,,,)
    有的书是这样申明 :Long WINAPT WndProc(,,,,)
    有的书是这样申明 :LRESUT PASCLE WndProc(,,,,)
请问WINAPI,PASCLE,CALLBACK这些申明表示什么意思???使用起来好象效果是一的??2、打包一个VB程序时,它会自动将以下几个dll文件打进包里去:
   MSCMCCHS.DLL
   MSCOMCHS.DLL
   VB6CHS.DLL
   VB6STKIT.DLL
   WINSKCHS.DLL
  请问这些dll各起什么作用?? 有哪些dll文件可以省略不打包进去,但又不响应用程序的运行??
   感谢大家

解决方案 »

  1.   

    WINAPI,PASCAL,CALLBACK这些只是些宏定义而已,要看到其原形,你可以去VC的include目录里面找找相应的头文件那些dll的话一般是根据你的所使用的库而确定的,如果要安装的机子上已经有相应文件的话那就可以省略,否则就不能省
      

  2.   

    CALLBACK,WINAPI的实质:在windef.h中的定义:#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