home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c480 / 19.ddi / MFC / INCLUDE / AFXV_DLL.H_ / AFXV_DLL.H
Encoding:
C/C++ Source or Header  |  1993-02-08  |  2.7 KB  |  69 lines

  1. // Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992 Microsoft Corporation,
  3. // All rights reserved.
  4.  
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and Microsoft
  7. // QuickHelp and/or WinHelp documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // afxv_dll.h - target version/configuration control for _AFXDLL standalone DLL
  12.  
  13. // There are several legal configuration for DLL/non-DLL builds:
  14. //    _AFXDLL  _USRDLL  _WINDLL     : Configuration
  15. //    ==============================================
  16. //     undef    undef    undef      : EXE using static link MFC library (1)
  17. //     undef   defined  defined     : DLL using static link MFC library (1)
  18. //    
  19. //    defined   undef    undef      : EXE using dynamic link MFC200.DLL
  20. //    defined   undef   defined     : DLL using dynamic link MFC200.DLL (2)
  21. //
  22. // NOTES:
  23. //   "undef" mean undefined
  24. //   all other configurations are illegal
  25. //   (1) these configurations handled in the main 'afxver_.h' configuration file
  26. //   (2) this configuration also applies to building the MFC DLL.
  27. //   There are two version of the MFC DLL:
  28. //   * MFC200.DLL is the retail DLL, MFC200D.DLL is the debug DLL
  29.  
  30. #ifndef _AFXDLL
  31. #error  afxv_dll.h must only be included as the _AFXDLL configuration file
  32. #endif
  33.  
  34. #ifndef _M_I86LM
  35. #error  DLL configurations must be large model
  36. #endif
  37.  
  38. // NOTE: All AFXAPIs are 'far' interfaces since they go across the boundary
  39. //   between DLLs and Applications (EXEs).  They are also implicitly 'export'
  40. //   by using the compiler's /GEf flag.  This avoids the need of adding
  41. //   the 'export' keyword on all far interfaces and also allows for more
  42. //   efficient exporting by ordinals.
  43. #define AFXAPI      _far _pascal
  44. #define AFXAPI_DATA_TYPE _far
  45. #define AFX_STACK_DATA  _far
  46. #define AFX_EXPORT  _far __pascal   // must compile with _GEf
  47.  
  48. // Normally AFXAPI_DATA is '_far'.
  49. // When building MFC200[D].DLL we define AFXAPI_DATA to be a far pointer
  50. //   based on the data segment.
  51. //   This causes public data to be declared with a 'far' interface, but
  52. //   places the data in DGROUP.
  53. #ifndef AFXAPI_DATA
  54. #define AFXAPI_DATA     AFXAPI_DATA_TYPE
  55. #endif
  56.  
  57. /////////////////////////////////////////////////////////////////////////////
  58. // Appropriate compiler detection
  59. //  * you must use the C8 compiler and the C8 headers
  60.  
  61. #if (_MSC_VER < 800)
  62. #error  _AFXDLL configuration requires C8 compiler
  63. #endif
  64.  
  65. typedef long    time_t;     // redundant typedef - will give compiler
  66.                             // error if including C7 headers
  67.  
  68. /////////////////////////////////////////////////////////////////////////////
  69.