Annotation of mstools/mfc/src/readme.txt, revision 1.1

1.1     ! root        1: =======================================================================
        !             2:                        MICROSOFT FOUNDATION CLASSES - SOURCE CODE
        !             3: =======================================================================
        !             4: 
        !             5: This directory contains the source code to the MFC library.
        !             6: 
        !             7: These files have been included for reference purposes, in
        !             8: conjunction with the Class Library reference manual and tutorial.
        !             9: 
        !            10: These files are compiled to form the Microsoft Foundation Class library.
        !            11: The library may be built in a number of configurations, depending upon
        !            12: operating system, memory usage or model, and whether or not debugging
        !            13: and diagnostic aids are to be included in applications which link with
        !            14: the library.
        !            15: 
        !            16: ================================
        !            17:  1.  WINDOWS/NT BUILD NOTES
        !            18: ================================
        !            19: Please read this section carefully before reading the rest of this
        !            20: file.  This section describes important differences between the
        !            21: Microsoft C/C++ 7.0 MFC 1.0 release and the Windows/NT BETA release.
        !            22: 
        !            23: There are four MFC library variants under Windows/NT; these variants
        !            24: are built using one of the following nmake invocations:
        !            25: 
        !            26: nmake MODEL=N TARGET=W DEBUG=1     -- debug, GUI subsystem
        !            27: nmake MODEL=N TARGET=R DEBUG=1     -- debug, console subsystem
        !            28: nmake MODEL=N TARGET=W DEBUG=0     -- retail, GUI subsystem
        !            29: nmake MODEL=N TARGET=R DEBUG=0     -- retail, console subsystem
        !            30: 
        !            31: 
        !            32: Model should always be set to N for NT versions of MFC.
        !            33: 
        !            34: DLLs are not supported in this release; ignore the DLL argument.
        !            35: 
        !            36: Codeview information is not supported in this release.  All references
        !            37: to the CODEVIEW setting below apply, but debug files are compiled with
        !            38: /Zd (line number information) rather than /Zi (full codeview information).
        !            39: 
        !            40: ================================
        !            41:  2.  BUILDING A LIBRARY VARIANT
        !            42: ================================
        !            43: 
        !            44: To build a library in a particular configuration, use the NMAKE tool
        !            45: and the Makefile which is in this directory.  The following arguments
        !            46: can be given to NMAKE to successfully build a specific library variant.
        !            47: 
        !            48:   NMAKE {MODEL=[S|M|C|L|N]} {TARGET=[W|R]} {DEBUG=[0|1]} {DLL=[0|1]} \
        !            49:                {CODEVIEW=[0|1|2]} {OBJ=path} {OPT=<CL command line switches>}
        !            50: 
        !            51: MODEL=[S|M|C|L|N]
        !            52:   The "MODEL" argument specifies the ambient memory model, which can be
        !            53:   one of S, M, C, or L (for Small, Medium, Compact or Large, NT
        !            54:   respectively).  NT is for 32 bit Windows NT hosting and targeting.
        !            55: 
        !            56: TARGET=[W|R]
        !            57:   The "TARGET" argument specifies the operating-system on which your
        !            58:   compiled programs will run.  This may be one of W or R (for
        !            59:   Windows or Real-mode DOS, respectively).  R may be used with TARGET=N
        !            60:   for character mode applications on Windows NT.
        !            61: 
        !            62: DLL=[0|1]
        !            63:   The "DLL" argument specifies whether or not to compile the library
        !            64:   so that it may subsequently be used for developing a dynamic link
        !            65:   library (DLL).  The default is DLL=0 (do not include DLL support).
        !            66:   If DLL=1, MODEL must be L (large).
        !            67: 
        !            68:   NOTE: The MFC library is not itself a DLL; it is always a statically
        !            69:   linked library.  This option does not build MFC into a DLL; it builds
        !            70:   a static library that can be used to build your DLLs; it is similar
        !            71:   in spirit to the C runtime LDLLCEW.LIB library.
        !            72: 
        !            73: 
        !            74: DEBUG=[0|1]
        !            75:   The "DEBUG" argument specifies whether or not to include diagnostic
        !            76:   support code for the library.  This may be 0 (for no diagnostics) 
        !            77:   or 1 (for full diagnostics).
        !            78: 
        !            79: CODEVIEW=[0|1|2]
        !            80:   The "CODEVIEW" argument specifies whether to compile the library with
        !            81:   CodeView information or not.  You need to compile the library with
        !            82:   CodeView information if you want to trace into MFC code using CodeView.
        !            83:   You should also compile your application files with the /Zi option,
        !            84:   and link your executable with the /CODEVIEW option.
        !            85: 
        !            86:   Setting CODEVIEW does not affect the DEBUG argument, although the
        !            87:   value of the DEBUG argument does affect the default value of CODEVIEW
        !            88:   (discussed below).  A value of 0 indicates that no CodeView
        !            89:   information is to be compiled into the library.  A value of 1 says
        !            90:   to compile in full CodeView information for all modules of the library.
        !            91:   A value of 2 compiles CodeView information only into a select set of
        !            92:   the most commonly referenced modules (WinMain, diagnostic memory
        !            93:   allocator, message map, main message loop, and the application class.)
        !            94: 
        !            95:   The default value depends on the setting of the DEBUG argument.
        !            96:   If DEBUG=1, CODEVIEW defaults to 2.  If DEBUG=0, CODEVIEW also defaults
        !            97:   to 0.
        !            98: 
        !            99: OBJ=[path]
        !           100:   We recommend storing .OBJ files in a separate directory so that you
        !           101:   may compile different versions of the MFC library concurrently.
        !           102:   The "OBJ" argument allows you to specify where these files are stored
        !           103:   during the build process.  The directory specified is created and
        !           104:   removed automatically as required.  This defaults to a combination
        !           105:   of the target, model, and debug status, preceded by a '$' (i.e. $MWD).
        !           106: 
        !           107: OPT=[switches]
        !           108:   If your library needs to be built with custom compiler switches, then
        !           109:   these may be included in the "OPT" argument.  Note that switches need
        !           110:   to be separated by spaces, so when including more than one extra
        !           111:   compiler switch, enclose the whole OPT= argument in double-quotes.
        !           112:   This is an advanced feature; read the Makefile and the details on each
        !           113:   of the switches concerned in the Microsoft C/C++ 7.0 Compiler User Manual
        !           114:   before using this option.
        !           115: 
        !           116: Defaults
        !           117:   The default is:
        !           118:          nmake MODEL=M TARGET=W DEBUG=1 CODEVIEW=2 OBJ=$MWD
        !           119: 
        !           120: Note.  If you wish to use only the non-Windows classes then build
        !           121: an 'R' (real-mode) library variant. There are three MFC sample applications
        !           122: that do not require Microsoft Windows, and use the real-mode libraries.
        !           123: See the file MFC\SAMPLES\README.TXT for details about each sample and
        !           124: which variant of the library each requires.
        !           125: 
        !           126: 
        !           127: ===============================
        !           128:  3. AFTER BUILDING THE LIBRARY
        !           129: ===============================
        !           130: 
        !           131: Once the library has been built successfully, you may want to delete
        !           132: object files with:
        !           133: 
        !           134:   NMAKE CLEAN OBJ=[path]
        !           135: 
        !           136: Note that if you used the "OBJ" argument while building the library,
        !           137: specify the same subdirectory in the cleanup command.
        !           138: 
        !           139: This will remove all of the temporary .OBJ files created by building the
        !           140: library, and remove the directory where they were stored.
        !           141: 
        !           142: Always perform a cleanup before building a new variant of the library,
        !           143: or use different object paths for each variant.  Note that the OBJ files
        !           144: are only necessary during the building process.
        !           145: 
        !           146: 
        !           147: ======================================
        !           148:  4. SOURCE CODE FORMATTING CONVENTION
        !           149: ======================================
        !           150: 
        !           151: All MFC source code has been formatted such that leading whitespace
        !           152: on a line is made up of physical tabs, while embedded whitespace is
        !           153: physical spaces.  MFC source code assumes that your editor is set to
        !           154: display a physical tab as four blanks.
        !           155: 
        !           156: For example:
        !           157: 
        !           158: int FormatExample()
        !           159: {
        !           160: /*
        !           161: Statements below should start in column 5 if tabs are set correctly
        !           162: Comment should start in column 20
        !           163: 12345678901234567890
        !           164: */
        !           165:        int i;
        !           166:        i = 5;         // whitespace between statement and comment is spaces
        !           167: 
        !           168:        return i;
        !           169: 
        !           170: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.