{
  "disks": {
    "1": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "INSTALL  EXE",
              "size": 64234,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "UNZIP    EXE",
              "size": 23044,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "README   COM",
              "size": 4217,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "BGI      ZIP",
              "size": 76955,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "CLASSINC ZIP",
              "size": 35475,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DISK1    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "FILELIST DOC",
              "size": 35195,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "IDE      ZIP",
              "size": 126308,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "STARTUP  ZIP",
              "size": 16271,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TD       CA2",
              "size": 172214,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TDH386   SYS",
              "size": 7982,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "THELP    ZIP",
              "size": 92484,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WHELP    CA2",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WHELP    CA3",
              "size": 166899,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "README",
              "size": 24969,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 1"
    },
    "2": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "BIN      ZIP",
              "size": 155480,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "CMDLINE  CA1",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DISK2    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WBIN     CA1",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WBIN     CA2",
              "size": 234266,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WEXAMPLE ZIP",
              "size": 97958,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 2"
    },
    "3": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "BC       CA3",
              "size": 343932,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "BCC      ZIP",
              "size": 272263,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "CLIB     ZIP",
              "size": 116521,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DISK3    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "HELP     CA1",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "LLIB     ZIP",
              "size": 117315,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 3"
    },
    "4": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "BC       CA1",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "BC       CA2",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "CLASSEXM ZIP",
              "size": 18773,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "CLASSLIB ZIP",
              "size": 18148,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DISK4    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DOC      ZIP",
              "size": 76340,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "EXAMPLES ZIP",
              "size": 72186,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "HELP     CA2",
              "size": 83387,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "HELPTNT  ZIP",
              "size": 12205,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "INCLUDE  ZIP",
              "size": 57371,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TCALC    BAD",
              "size": 23997,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WINCLUDE ZIP",
              "size": 54764,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "XLIB     ZIP",
              "size": 70566,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 4"
    },
    "5": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "CMDLINE  CA2",
              "size": 82582,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DISK5    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TD       CA1",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TPROF    ZIP",
              "size": 310282,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WHELP    CA1",
              "size": 361472,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "WINLIB   ZIP",
              "size": 85576,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 5"
    },
    "6": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK6    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "MLIB     ZIP",
              "size": 112575,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "MMACROS  ZIP",
              "size": 16837,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "SLIB     ZIP",
              "size": 115145,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TAEXMPL1 ZIP",
              "size": 69653,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TASM     ZIP",
              "size": 274387,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TDUTIL   ZIP",
              "size": 279409,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TDW      ZIP",
              "size": 341102,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 6"
    },
    "7": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "CHAPXMPL ZIP",
              "size": 35732,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "CLASSSRC ZIP",
              "size": 30287,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "DISK7    DSK",
              "size": 5,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "HLIB     ZIP",
              "size": 119774,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "MANTNT   ZIP",
              "size": 18465,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "MANUAL   ZIP",
              "size": 23498,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TAEXMPL2 ZIP",
              "size": 54687,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TDEXMPL  ZIP",
              "size": 76137,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TDWEXMPL ZIP",
              "size": 36635,
              "date": "1991-02-13",
              "time": "2:00"
            },
            {
              "name": "TFEXMPL  ZIP",
              "size": 132184,
              "date": "1991-02-13",
              "time": "2:00"
            }
          ]
        }
      ],
      "volume": "DISK 7"
    }
  },
  "desc_file": "README",
  "desc_text": "                         Welcome to Borland C++ \r\n                         ----------------------\r\n\r\n  This README file contains important information about Borland C++.\r\n  For the latest information about Borland C++, Turbo Debugger,\r\n  TASM, and their accompanying programs and manuals, read this\r\n  file in its entirety.\r\n\r\nTABLE OF CONTENTS\r\n-----------------\r\n1.  How to Get Help\r\n2.  Installation\r\n3.  Features\r\n4.  Important Information\r\n5.  Testing Your Expanded Memory\r\n6.  Corrections to the Documents\r\n\r\n\r\n 1. HOW TO GET HELP\r\n-------------------\r\n  If you have any problems, please read this file, the\r\n  HELPME!.DOC and other files in your DOC subdirectory, and the\r\n  Borland C++ manuals first. If you still have a question and\r\n  need assistance, help is available from the following sources:\r\n\r\n  1. Type GO BPROGB on the CompuServe bulletin board system for\r\n     instant access to the Borland forums with their libraries of\r\n     technical information and answers to common questions.\r\n\r\n     If you are not a member of CompuServe, see the enclosed\r\n     special offer, and write for full details on how to receive\r\n     a free IntroPak containing a $15 credit toward your first\r\n     month's on-line charges.\r\n\r\n  2. Check with your local software dealer or users' group.\r\n\r\n  3. Write to us at the following address:\r\n\r\n     Borland International\r\n     Borland C Technical Support\r\n     1800 Green Hills Road\r\n     P.O. Box 660001\r\n     Scotts Valley, CA  95066-0001\r\n\r\n     Please remember to include your serial number or we will be\r\n     unable to process your letter.\r\n\r\n  4. If you have an urgent problem that cannot wait and you have\r\n     sent in the license agreement that came with the package,\r\n     you may call the Borland Technical Support Department at\r\n     (408) 438-5300. Please have the following information ready\r\n     before calling:\r\n\r\n     a. Product name and serial number on your original\r\n        distribution disk.  Please have your serial number ready\r\n        or we will be unable to process your call.\r\n\r\n     b. Product version number. The version number for Borland\r\n        C++ can be displayed by pressing Alt-Space/A.\r\n\r\n     c. Computer brand, model, and the brands and model numbers of\r\n        any additional hardware.\r\n\r\n     d. Operating system and version number. (The version number\r\n        can be determined by typing VER at the MSDOS prompt.)\r\n\r\n     e. Contents of your AUTOEXEC.BAT file.\r\n\r\n     f. Contents of your CONFIG.SYS file.\r\n\r\n\r\n 2. INSTALLATION\r\n----------------\r\n\r\n  You MUST use the INSTALL program to install Borland C++. The\r\n  files on the distribution disks are all archived and have to be\r\n  properly assembled.  You cannot do this by hand!\r\n\r\n  To start the installation, change your current drive to the one\r\n  that has the install program on it and type INSTALL.  You will\r\n  be given instructions in a box at the bottom of the screen for\r\n  each prompt. For example, if you will be installing from drive\r\n  A:, type:\r\n\r\n    A:\r\n    INSTALL\r\n\r\n  -  This INSTALL handles the installation of both the compiler\r\n     and debugger and tools in one operation, and allows several\r\n     new configuration options.\r\n\r\n  -  Note: The list of files is now contained in a separate file\r\n     called FILELIST.DOC, which will appear in the target\r\n     directory you specify during installation.\r\n\r\n  You should read the rest of this README file to get further\r\n  information about this release before you do the installation.\r\n\r\n\r\n 3. FEATURES\r\n------------\r\n\r\n  Borland C++ includes complete support for Windows programming,\r\n  as well as big speed and capacity gains.  Here are some\r\n  important features found in this version:\r\n\r\n COMPILER\r\n---------\r\n  - Windows! We now produce EXE and DLL files for Windows 3.0.\r\n\r\n  - Protected mode versions of the Programmer's Platform and the\r\n    command-line compiler for greater capacity.\r\n\r\n  - Precompiled header files for faster compilation.\r\n\r\n  - A built-in assembler.\r\n\r\n  - A full undo for the Programmer's Platform editor\r\n\r\n  - The complete Windows API online reference is now provided in the\r\n    Borland C++ help file.\r\n\r\n  - Included on these disks is Turbo Debugger for Windows, a new\r\n    version of Turbo Debugger that supports Windows debugging.\r\n  \r\n  - Switches to control the amount of extended/expanded memory to\r\n    be used by the compiler.\r\n\r\n  - Switches to control various aspects of program data for\r\n    compatibility with other compilers.\r\n\r\n  - A new utility called TRANCOPY which copies transfer items\r\n    between projects.\r\n\r\n  - Note: Because the compiler programs in Borland C++ are named\r\n    BCC.EXE and BC.EXE, you'll need to rename them if you have\r\n    batch or make files that use those names, or you'll have to\r\n    change the macros or batch files to supply the correct name.\r\n\r\n TURBO DEBUGGER\r\n---------------\r\n  - Turbo Debugger for Windows (TDW.EXE), uses \"display swapping\"\r\n    to allow you to debug Windows applications using one machine\r\n    and a single display.\r\n\r\n  - TDW automatically and transparently lets you debug Windows\r\n    DLLs. There is a new module view selection dialog that allows\r\n    you to manually control this feature; press F3 with a Windows\r\n    module loaded, and F1 to find out more about the options.\r\n\r\n  - The View/Log viewer allows logging of global and local heap\r\n    information, as well as the modules currently loaded by\r\n    Windows.\r\n\r\n  - The View/Windows Messages viewer allows you to collect or\r\n    break on Windows messages based on window-routine identifiers\r\n    or on handles.  In addition, you can filter out specific\r\n    classes of messages to log, allowing you to view exactly what\r\n    you're interested in.\r\n\r\n  - WREMOTE.EXE allows remote debugging of Windows applications\r\n    between two systems.  WRSETUP.EXE allows you to set up your\r\n    link speed and comm port settings from within Windows.\r\n    (Note that this is a Windows-compatible application)\r\n\r\n  - The utilities have been modified to handle your Windows\r\n    programs. See MANUAL.TNT in your DOC directory for detailed\r\n    information about using the Turbo Debugger Utilities.\r\n\r\n  - The File/Get Info window displays global memory information\r\n    based on banked and non-banked memory.\r\n\r\n TURBO PROFILER\r\n---------------\r\n  - Allows you to view text files from within the user interface.\r\n\r\n\r\n TURBO ASSEMBLER\r\n----------------\r\n  - Two versions of Turbo Assembler have been provided. TASMX.EXE\r\n    can be run from the Windows DOS prompt, and takes advantage\r\n    of the DOS Protected Mode Interface (DPMI) that Windows 3.0\r\n    provides. This allows the assembler to take advantage of\r\n    Windows' memory management and to dramatically increase\r\n    capacity.  TASM.EXE uses standard DOS memory, and is provided\r\n    for operation in environments without DPMI support such as\r\n    DOS and the non-386 enhanced modes of Windows.\r\n\r\n  - DPMILOAD.EXE handles loading TASM in environments where DPMI\r\n    support is a part of the operating system, such as when\r\n    running from the Windows 3.0 DOS prompt. DPMILOAD.EXE must\r\n    exist on some path within your path statement. TASMX will\r\n    automatically detect if DPMI support is present and then use\r\n    DPMILOAD to load itself. If DPMI support is not available,\r\n    (or if the DPMILOAD.EXE program is not present), TASMX will\r\n    load TASM.EXE and Turbo Assembler will run in normal DOS\r\n    memory.\r\n\r\n\r\n 4. IMPORTANT INFORMATION\r\n-------------------------\r\n  Be sure to look at the files in the DOC subdirectory for more\r\n  information about Borland C++. These files have additional\r\n  information about the compiler, utilities, debugger and\r\n  assembler.\r\n\r\n\r\n  TURBO DEBUGGER\r\n\r\n  -  The following options have been removed from TDW.EXE (and\r\n     TD.EXE when using remote debugging):\r\n\r\n      - File Menu\r\n          DOS Shell\r\n          Resident\r\n          Table relocate\r\n      - View Menu\r\n          Keystroke Recording\r\n      - Breakpoints Menu\r\n          Hardware breakpoint\r\n\r\n  -  TDREMOTE/TDRF now have four different link speeds, which\r\n     will conflict with any previous versions of TDRF or TDREMOTE\r\n     you may have unless you make sure that the settings are the\r\n     same on both sides.  These link speeds also apply to WREMOTE\r\n     for Windows.\r\n\r\n  -  TDINST now has a -w command line option which allows you to\r\n     create TDCONFIG.TDW files (or save the configuration to\r\n     TDW.EXE) for customized configurations of TDW.  You must use\r\n     the -w switch to create config files for TDW.EXE.  TDW will\r\n     not read in your existing TDCONFIG.TD files.\r\n\r\n  -  Many of the command-line options for TDW which cannot be\r\n     used have been eliminated, such as setting overlay area\r\n     sizes, remote debugging, and the graphics display options.\r\n     Use the -? option when loading TDW to see the available\r\n     options, or consult the manual.\r\n\r\n  -  The BCWDEMOA example is used to demonstrate the\r\n     Ctrl+Alt+Sysrq feature of TDW and is not meant to be run\r\n     directly under Windows. If you do this you will not be able\r\n     to gain control of Windows again and will have to reboot\r\n     your system. There may be problems using the Ctrl+Alt+Sysrq\r\n     feature with certain keyboards or environments.  Some\r\n     keyboards use Alt+Sysrq to activate the Sysrq scan code;\r\n     therefore Ctrl+Alt+Sysrq is not possible.  Also, there may\r\n     be problems using this Windows feature for Zenith.\r\n\r\n  -  TDW is a text-based debugger which runs in the graphics mode\r\n     environment of Windows.  It supports only the standard\r\n     graphics display modes: CGA, EGA, VGA, and Hercules\r\n     monochrome graphics.  It does not currently support other\r\n     video modes, such as the one that supports Super-VGA.\r\n     However, the DOS versions of TD (TD.EXE, TD286.EXE, etc.)\r\n     are now capable of using this support.\r\n\r\n  -  When you are debugging your application, TDW has control.  You\r\n     cannot use Ctrl+ESC while in TDW to gain control of Windows.\r\n     You can, however, use Ctrl+ESC normally while your program is\r\n     active and Windows has control.\r\n\r\n  -  TDW does not load more than one symbol table at a time.  If\r\n     your program uses more than one symbol table you can load it\r\n     explicitly or, if your program makes a call to another\r\n     symbol table, TDW will load that table automatically when\r\n     tracing (F7) over the calling instruction.\r\n\r\n  -  TDW is only able to use the -p command-line option or\r\n     configuration option to activate the mouse if Windows is\r\n     installed to use a mouse. If no mouse is specified to be\r\n     used in Windows, TDW will not recognize it either.\r\n\r\n  -  THELP is a help menu TSR (Terminate & Stay Resident) program\r\n     meant to work in the DOS environment.  It will not work when\r\n     running TDW under Windows. The normal TDW help is still\r\n     available.\r\n\r\n  -  If you wish to debug a DLL loaded by the Windows LoadLibrary\r\n     function, you need to use the Add DLL option of the\r\n     View|Module dialog to add this DLL to the DLLs & programs\r\n     pane. Once the DLL  has been added, make sure that you\r\n     select Yes for Load symbols and  Yes for Debug startup.\r\n\r\n\r\n  TURBO ASSEMBLER\r\n\r\n  -  In order to take advantage of DPMI support feature, you must\r\n     be running Windows in 386 enhanced mode. (You may tell if\r\n     Windows 3.0 is in 386 enhanced mode by selecting ABOUT from\r\n     the Program Manager. It will tell you how much memory is\r\n     available to Windows, and it will say that Windows is in\r\n     \"real mode\", \"standard mode\", or \"enhanced 386 mode\". If you\r\n     are running Windows on a 386 machine, and Windows is not\r\n     currently operating in enhanced mode, please see your\r\n     Windows manual for additional details on running Windows 3.0\r\n     in enhanced mode. Enhanced mode is not available when\r\n     Windows 3.0 is run on processor less than a 386.) Also,\r\n     DPMILOAD.EXE must be somewhere in your path.\r\n\r\n  -  TASMX is not designed to be a Windows application, so you\r\n     must enter a Windows 3.0 DOS prompt to use TASMX. Then to\r\n     use TASMX, just type TASMX wherever you would normally type\r\n     TASM. All command-line options are the same as the previous\r\n     version of TASM. When run within the Windows 3.0 DOS prompt,\r\n     TASMX will be able to use almost all the free memory in the\r\n     system, if neccessary, for assembling large programs.\r\n\r\n  -  TASM 2.5 will still run without Windows 3.0 DPMI. If DPMI\r\n     support is not found, you must have TASM.EXE somewhere in\r\n     your path. Then if you load TASMX, it will run TASM.EXE\r\n     within the normal 640K DOS environment. Turbo Assembler will\r\n     not be able to assemble programs larger than normal without\r\n     DPMI support.\r\n\r\n  -  We encourage you to try TASMX on all your assembler source\r\n     code, both from the normal DOS prompt and from within a\r\n     Windows 3.0 DOS prompt. TASMX should be able to handle all\r\n     programs that work properly with TASM 2.01.\r\n\r\n  WHITEWATER RESOURCE TOOLKIT\r\n\r\n    You can edit C header files using the Header Editor. The file\r\n    to edit may be created in any editor, or as the output of a\r\n    resource editing session. There are restrictions on syntax,\r\n    however:\r\n\r\n    - In a C header (.H file), the Header editor supports only\r\n      #define statements defining constants with a decimal or\r\n      hexadecimal value; an error will result if you attempt to\r\n      edit a header file containing anything else except\r\n      comments. If you save the result of an edit of a file\r\n      containing comments, the comments will be removed.\r\n\r\n\r\n  C++ STREAMS\r\n\r\n      This will be our last version of C++ to support version\r\n      1.2 streams (which currently requires the use of the\r\n      OLDSTRM?.LIB files.)\r\n\r\n  EXAMPLE PROGRAMS\r\n\r\n      When you are running any example programs that come with\r\n      .PRJ files, if you didn't use the standard directories when\r\n      you installed Borland C++ you will have to change the .PRJ\r\n      file to reflect your actual directory setup.  Do this from\r\n      inside Borland C++ with Alt-O/D.\r\n\r\n\r\n  LINKING C++ WITH C\r\n\r\n      Linking C++ modules with C modules requires the use of a\r\n      linkage specification.  Prototypes for C functions within C++\r\n      modules must be in one of the following forms:\r\n\r\n        extern \"C\" declaration\r\n        extern \"C\" { declarations }\r\n\r\n      For example, if a C module contains these functions:\r\n\r\n        char *SCopy(char*, char*);\r\n        void ClearScreen(void)\r\n\r\n      they must be declared in a C++ module in one of the\r\n      following ways:\r\n\r\n        extern \"C\" char *SCopy(char*, char*);\r\n        extern \"C\" void ClearScreen(void);\r\n\r\n      or\r\n\r\n         extern \"C\" {\r\n            char *SCopy(char*, char*);\r\n            void ClearScreen(void);\r\n         }\r\n\r\n      Failure to do so will result in \"Undefined symbol\" errors\r\n      during link. For further examples, see the standard header\r\n      files.\r\n\r\n\r\n  IMPORTANT NOTES\r\n\r\n  - The default extension for source files is .CPP; that is, if\r\n    you enter\r\n\r\n       BCC -c test\r\n\r\n    the compiler will search for test.cpp, and give an error if a\r\n    file of that name cannot be found. If you want to have the\r\n    command-line compiler assume a .c extension and C language\r\n    source, use the command-line option -P-c. For more information,\r\n    see Chapter 6, \"The command-line compiler\", in the User's Guide.\r\n\r\n  - Borland C++ only supports Protected Mode Windows target\r\n    files. Make sure to use the /t option when using the Resource\r\n    Compiler if you want to enforce Protected Mode usage.\r\n\r\n  - Functions that return structures now take a hidden parameter\r\n    that contains the address where the returned structure is to\r\n    be placed.  If you are writing assembler code to link with C\r\n    code you must be sure to allow for this extra parameter.\r\n\r\n  - When debugging a mouse application the Options|Debugging|Display\r\n    Swapping option should be set to \"Always\" for best results.\r\n\r\n  - TEMC will not allow a macro to contain multiple commands that\r\n    return exit codes.\r\n\r\n  - Example 2 for the signal() function in the Reference Guide uses\r\n    an extension to signal() that is not supported in C++, so the\r\n    example will not compile as a C++ program.\r\n\r\n  - If a directory contains only one project file, invoking\r\n    Borland C++ without any parameters will open that project. \r\n    If this behavior is not desired, a second \"dummy\" project\r\n    file must be placed in that directory or the current project\r\n    file must be removed.\r\n\r\n  - Note that the Generate COMDEFs choice under\r\n    Options|Compiler|Code Generation and the -Fc command-line\r\n    option are only supported in the C language. Linker errors\r\n    will result if you attempt to use a communal variable in C++.\r\n\r\n  - When linking in libraries that have COMDEFs, be sure to link\r\n    in at least one .OBJ file that contains a COMDEF. The TDUMP\r\n    utility can be used to determine if a .LIB file contains a\r\n    COMDEF.\r\n\r\n  - The macros min() and max() are not defined when stdlib.h is\r\n    compiled as C++ (to allow their use in 3rd party libraries,\r\n    etc.).\r\n\r\n  - When using Brief with THELP, make sure to use Brief's -p\r\n    switch to insure that the thelp window will be visible.\r\n\r\n  - Note that SYMDEB creates .SYM files for use in debugging; Borland C++\r\n    creates .SYM files for pre-compiled headers. They are not compatible\r\n    and collisions should be avoided by setting the name of the pre-compiled\r\n    header file (using -H=filename).\r\n\r\n  - If you have an application that uses multiple DLLs at least one of\r\n    which references another, you need to obey the following rules:\r\n\r\n    1. The module names of imported entries specified in module definition\r\n       files should be in lower case.  This applies to the name specified\r\n       after the LIBRARY keyword for DLLs which export the entries, as well\r\n       as the module names supplied in the IMPORTS section.\r\n\r\n       For example:  \r\n\r\n           LIBRARY mydll\r\n       not  \r\n           LIBRARY MYDLL\r\n\r\n\r\n           IMPORTS\r\n               mydll.1\r\n       not  \r\n           IMPORTS\r\n               MYDLL.1\r\n\r\n    2. Enable a case-sensitive link using /c for the standalone linker\r\n       (TLINK), or the Options|Linker|Case Sensitive Link option in the\r\n       Programmer's Platform.\r\n\r\n\r\n 5. TESTING YOUR EXPANDED MEMORY: EMSTEST.COM\r\n---------------------------------------------\r\n\r\n  Included with Borland C++ is a program to test your Expanded\r\n  Memory hardware and software. If you have problems using\r\n  Borland C++ with your EMS, type EMSTEST at the DOS prompt and\r\n  follow the instructions.\r\n\r\n\r\n 6.  CORRECTIONS TO THE DOCUMENTS\r\n---------------------------------\r\n\r\n  Getting Started\r\n  ---------------\r\n  Pg. 3    The manual says that Borland C++ requires DOS 2.0 or higher.\r\n           It should say DOS 3.0 or higher.\r\n\r\n  Borland C++ Programmer's Guide\r\n  ------------------------------\r\n  Pg. 168  _WINDOWS shown in the last heading should be _Windows.\r\n\r\n  Borland C++ User's Guide\r\n  ------------------------\r\n  Pg. 122  The section on Dynamic Link Libraries should include\r\n           the note that DLLs written in C++ are only supported\r\n           in the compact and large memory models; this\r\n           restriction does not apply to DLLs with C language\r\n           source.\r\n\r\n  Pg. 158  In the first paragraph it says you need at least 576k of\r\n           extended memory. The correct amount is 320k.\r\n\r\n  Pg. 159  Note that values of at least 120 should be specified in\r\n           the TKERNEL kilos parameter.\r\n\r\n  Pg. 260  Several TLINK error messages are not included; here is a\r\n           list of those messages and their meanings:\r\n\r\n  - Debug info option ignored for .COM files\r\n\r\n     Borland C++ does not include debug information for .COM\r\n     files.\r\n\r\n  - Overlays ignored in new executable image\r\n\r\n     This error occurs if you attempt to link an Windows program\r\n     with the /o option on.\r\n\r\n     Windows executables can't be overlaid, although, with\r\n     discardable code segments, you should be able to achieve a\r\n     similar effect.\r\n\r\n  - Relocation item exceeds 1MB DOS limit\r\n\r\n     The DOS executable file format doesn't support relocation\r\n     items for locations exceeding 1MB.\r\n\r\n     Although DOS could never load an image this big, DOS extenders\r\n     can, and thus TLINK supports the generation of images greater\r\n     than DOS could load.\r\n\r\n     Even if the image is loaded with a DOS extender, the DOS\r\n     executable file format is limited to describing relocation\r\n     items in the first 1MB of the image.\r\n\r\n  -'filename' ('linenum'): Duplicate internal name in exports\r\n\r\n     Two export functions listed in the EXPORTS section of the\r\n     module definition file defined the same internal name.\r\n\r\n  -'filename' ('linenum'): Duplicate internal name in imports\r\n\r\n     Two import functions listed in the IMPORTS section of the\r\n     module definition file defined the same internal name.\r\n\r\n  - 'filename' ('linenum'): Duplicate ordinal 'number' in exports\r\n\r\n     TLINK encountered two exports with the same ordinal value.\r\n\r\n     Check the module definition file to ensure that there are no\r\n     duplicate ordinal values specified in the EXPORTS section.\r\n\r\n     If not, you are linking with modules that specify exports by\r\n     ordinals and one of two things happened:\r\n\r\n       - two export records specify the same ordinal, or\r\n       - the exports section in the module definition file\r\n         duplicates an ordinal in an export record.\r\n\r\n  - Segment alignment factor too small\r\n\r\n     This error occurs if the segment alignment factor (set with\r\n     the /A option) is too small to represent the file addresses\r\n     of the segments in the .EXE file.\r\n\r\n     This error only occurs when linking for Windows.\r\n\r\n  - Segment too large for segment table\r\n\r\n     This error should never occur in practice.\r\n\r\n     It means that a segment was bigger than 64K and its size\r\n     can't be represented in the executable file.\r\n\r\n     This error can only occur when linking for Windows; the\r\n     format of the executable file used for Windows does not\r\n     support segments greater than 64K.\r\n\r\n  - Invalid size specified for segment alignment\r\n\r\n     This error occurs if an invalid value is specified for the /A\r\n     option.\r\n\r\n     The size specified with /A must be an integral multiple of 2\r\n     and less than 64K; common values are 16 and 512.\r\n\r\n     This error only occurs when linking for Windows.\r\n\r\n  - 'filename' ('linenum'): Duplicate external name in exports\r\n\r\n     Two export functions listed in the EXPORTS section of a\r\n     module definition file defined the same external name.\r\n\r\n     For example:\r\n\r\n       EXPORTS AnyProc=MyProc1 AnyProc=MyProc2 - Automatic data\r\n       segment exceeds 64K\r\n\r\n     The sum of the DGROUP physical segment, local heap, and stack\r\n     exceeded 64K.\r\n\r\n     Either specify smaller values for the HEAPSIZE and STACKSIZE\r\n     statements in the module definition file, or decrease the\r\n     size of your near data in DGROUP.\r\n\r\n     The map file will show the sizes of the component segments in\r\n     DGROUP.\r\n\r\n     Use the /s TLINK command-line option to find the module.\r\n\r\n  - Debugging information overflow; try fewer modules with debug\r\n    info\r\n\r\n     Too many modules containing debugging information are\r\n     included in the link.\r\n\r\n     The debugging information executable file specification uses\r\n     16-bit fields for many counts. This error message indicates\r\n     that one of the count fields have overflowed.\r\n\r\n     To exclude some modules with debug information from the link,\r\n     either:\r\n       - use the /v+ and /v- stand-alone linker options, or\r\n       - turn on the Exclude Debug Information option\r\n\r\n  - Limit of 254 segments for new executable file exceeded\r\n\r\n     You have reached the limit of segments that can be specified\r\n     by the New Executable file format.\r\n\r\n     Only 254 segments can be represented in Windows EXEs and\r\n     DLLs.\r\n\r\n     To reduce the total number of segments to below 254, turn on\r\n     the Pack Code Segments option to combine segments.\r\n\r\n  - Imported references from VIRDEFs not supported\r\n\r\n     TLINK does not support offset fixups to imported names when\r\n     those fixups are associated with VIRDEFs.\r\n\r\n     This situation is not likely to occur. However, if it does,\r\n       - use the -Vs command-line option, or\r\n       - set C++ Virtual Tables to Local in the IDE.\r\n\r\n     VIRDEFs are used for C++ virtual tables and inline functions\r\n     which, for debugging purposes, are pulled out-of-line.\r\n\r\n  - Invalid size specified for segment packing\r\n\r\n     You have specified an invalid size for the code segment\r\n     packing limit. The default is 8192; legal values are from 1\r\n     to 65536."
}