home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / OTHERUTI / TCPP30-1.ZIP / README < prev    next >
Text File  |  1992-02-18  |  15KB  |  444 lines

  1.            Welcome to Turbo C++ Version 3.0
  2.            --------------------------------
  3.  
  4.   This README file contains important information about Turbo C++.
  5.   For the latest information about Turbo C++ and its accompanying
  6.   programs and manuals, read this file in its entirety.
  7.  
  8. TABLE OF CONTENTS
  9. -----------------
  10. 1.  How to Get Help
  11. 2.  Installation
  12. 3.  Features
  13. 4.  Important Information
  14. 5.  Testing Your Expanded Memory
  15. 6.  Corrections to the On-line Help
  16.  
  17.  
  18.  1. HOW TO GET HELP
  19. -------------------
  20.   If you have any problems, please read this file, the
  21.   HELPME!.DOC and other files in your DOC subdirectory, and the
  22.   Turbo C++ manuals first. If you still have a question and need
  23.   assistance, help is available from the following sources:
  24.  
  25.   1. Type GO BPROGB on the CompuServe bulletin board system for
  26.      instant access to the Borland forums with their libraries of
  27.      technical information and answers to common questions.
  28.  
  29.      If you are not a member of CompuServe, see the enclosed
  30.      special offer, and write for full details on how to receive
  31.      a free IntroPak containing a $15 credit toward your first
  32.      month's on-line charges.
  33.  
  34.   2. Check with your local software dealer or users' group.
  35.  
  36.   3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX 
  37.      catalog of entries.
  38.  
  39.   4. If you have an urgent problem that cannot wait and you have
  40.      sent in the license agreement that came with the package,
  41.      you may call the Borland Technical Support Department at
  42.      (408) 438-5300. Please have the following information ready
  43.      before calling:
  44.  
  45.      a. Product name and serial number on your original
  46.         distribution disk.  Please have your serial number ready
  47.         or we will be unable to process your call.
  48.  
  49.      b. Product version number. The version number for Turbo
  50.         C++ can be displayed by pressing Alt-H/A.
  51.  
  52.      c. Computer brand, model, and the brands and model numbers of
  53.         any additional hardware.
  54.  
  55.      d. Operating system and version number. (The version number
  56.         can be determined by typing VER at the DOS prompt.)
  57.  
  58.      e. Contents of your AUTOEXEC.BAT file.
  59.  
  60.      f. Contents of your CONFIG.SYS file.
  61.  
  62.  
  63.  
  64.  2. INSTALLATION
  65. ----------------
  66.  
  67.   You MUST use the INSTALL program to install Turbo C++. The
  68.   files on the distribution disks are all archived and have to be
  69.   properly assembled.  You cannot do this by hand!
  70.  
  71.      IMPORTANT!
  72.  
  73.      If you want to create backup copies of your disks, make sure 
  74.      that you put the backup on the same type of disk as the 
  75.      source. If you're backing up the 5 1/4 inch 1.2 Mb disk set, 
  76.      use only blank 5 1/4 inch 1.2 Mb disks for backup, etc. The 
  77.      installation will not work correctly if you do not use the 
  78.      same media type for the backup disks.
  79.  
  80.   To start the installation, change your current drive to the one
  81.   that has the install program on it and type INSTALL.  You will
  82.   be given instructions in a box at the bottom of the screen for
  83.   each prompt. For example, if you will be installing from drive
  84.   A:, type:
  85.  
  86.     A:
  87.     INSTALL
  88.  
  89.   -  This INSTALL handles the installation of both the compiler
  90.      and tools in one operation, and allows several new 
  91.      configuration options.
  92.  
  93.   -  After installation, make sure you insert \TC\BIN - or
  94.      whatever you selected as your BIN directory - into
  95.      your DOS path so the executable files can be found.
  96.  
  97.   -  Note: The list of files is contained in a separate file
  98.      called FILELIST.DOC, which will appear in the target
  99.      directory you specify during installation.
  100.  
  101.   -  After your initial installation, you can run INSTALL again to
  102.      add elements you omitted the first time. Just select the
  103.      items you want to add in the INSTALL options screen. Because
  104.      some things you may want to save could be overwritten, review
  105.      the following items to make sure you don't lose important
  106.      information:
  107.  
  108.      1.  Selecting CMD (the Command-line compiler) causes an
  109.      overwrite of any existing turboc.cfg & tlink.cfg file
  110.      with path information provided in that INSTALL session.
  111.      Any switches other than -L (library path) and -I
  112.      (include path) will not be preserved.
  113.  
  114.      2.  Selecting IDE will reset the include and library paths 
  115.          to those provided in that INSTALL session.
  116.  
  117.      3.  By selecting any one of the following, the help file
  118.      paths and choices for THELP.CFG will reflect the current
  119.      session's installation choices:
  120.  
  121.           a. CMD - command-line compiler
  122.           b. IDE - integrated environment
  123.  
  124.      4.  Alterations to headers or startup files will be
  125.      overwritten if any library models are selected.
  126.  
  127.      In general, any selection you make of something installed
  128.      earlier will cause an overwrite of the earlier version
  129.      without prompting.
  130.  
  131.  
  132.   You should read the rest of this README file to get further
  133.   information about this release before you do the installation.
  134.  
  135.  
  136.  3. FEATURES
  137. ------------
  138.  
  139.   Turbo C++ 3.0 includes big speed and capacity gains.  Here are
  140.   some important features found in this version:
  141.  
  142.   - DPMI services for increased capacity
  143.  
  144.   - C++ 2.1 support, including the new nested class specifications,
  145.     and support of C++ 3.0 templates.
  146.  
  147.   - Support for pre-compiled headers for substantial time savings
  148.     during subsequent recompiles.
  149.  
  150.   - Color syntax highlighting
  151.  
  152.   - Unlimited Undo/Redo replacing previous 'restore line' capability
  153.  
  154.   - Added library functions for compatibility with other runtime
  155.     libraries, and addition of support for long double parameters
  156.     in math functions. (Please refer to On-line Help for details.)
  157.  
  158.   - New MAKE features. (Please see the MAKE chapter in the User's 
  159.     Guide for details.)
  160.  
  161.   - Added BGI (Borland Graphics Interface) fonts and support. (See
  162.     "New BGI fonts" below.)
  163.  
  164.   - A resident DPMI kernel program, DPMIRES.EXE. (See "DPMI" below.)
  165.  
  166.   - THELP now allows you to switch between help files without
  167.     unloading and reloading. (Please see UTIL.DOC for details.)
  168.  
  169.  
  170. NEW BGI FONTS
  171. -------------
  172.  
  173. Several new fonts have been added to the Borland Graphics Interface:
  174.  
  175.  
  176. Name            Value   Description
  177. -------------------------------------------
  178. SCRIPT_FONT     5       Stroked script font
  179. SIMPLEX_FONT    6       Stroked simplex font
  180. TRIP_SCR_FONT   7       Stroked triplex script font
  181. COMPLEX_FONT    8       Stroked complex font
  182. EURO_FONT       9       Stroked European font
  183. BOLD_FONT       10      Stroked bold font
  184.  
  185. The fonts in the BGI now support the full ASCII character set.
  186.  
  187. DPMI
  188. ----
  189.  
  190. TC.EXE, TCC.EXE, and TLINK.EXE are now hosted under DPMI.  These files
  191. support protected-mode compilation and replace the files of the same
  192. name in Turbo C++ Second Edition.  Turbo C++ Second Edition should
  193. continue to be used in instances where real-mode compilation is desired.
  194.  
  195. If you encounter a "machine not in database" message while attempting
  196. to run the compiler, run the DPMIINST program to add your machine
  197. configuration to the DPMI server database.
  198.  
  199. This version includes a resident DPMI host program, DPMIRES.EXE, that
  200. allows you to preload the server before invoking TC, TCC, or any other
  201. DPMI-hosted executables.  If you want to run such hosted EXEs in a
  202. Windows Standard Mode DOS window, you should run DPMIRES.EXE before
  203. loading Windows. To do this, enter the following commands at DOS:
  204.  
  205.   set DPMIMEM=MAXMEM 2000
  206.   dpmires
  207.   win /s
  208.  
  209. If you want to limit the amount of extended memory used by the
  210. DPMI-hosted executables, an environment variable called DPMIMEM
  211. can be set to do so. For instance, the command
  212.  
  213.   set DPMIMEM=MAXMEM 2000
  214.  
  215. reserves about 2 Mb of memory for DPMIRES. The number after MAXMEM
  216. can be adjusted, but cannot be lower than 1000.
  217.  
  218. The hosted executables cannot spawn each other when SHARE is loaded.
  219. For instance, if you run MAKE on a file which in turn calls MAKE
  220. again, you will get a sharing violation. In this specific case,
  221. you can call the real mode version, MAKER, within the given makefile,
  222. and a sharing violation won't occur.
  223.  
  224.  
  225.  4. IMPORTANT INFORMATION
  226. -------------------------
  227.  
  228.   - When using Brief with THELP, make sure to use Brief's -p
  229.     switch to ensure that the thelp window will be visible.
  230.  
  231.   - We recommend that you use the following mouse drivers with
  232.     this product:
  233.  
  234.        Microsoft Mouse version 7.04 or later;
  235.        Logitech Mouse version 5.01 or later;
  236.        Genius Mouse version 9.06 or later.
  237.  
  238.   - If you get a "floating point formats not linked" message at
  239.     runtime, put the following somewhere in your source files:
  240.  
  241.     extern void _floatconvert();
  242.     #pragma extref _floatconvert
  243.  
  244.     This will force inclusion of floating point formats, which
  245.     may not be linked to reduce executable size.
  246.  
  247.  
  248.   COMPILER
  249.  
  250.   - The default extension for source files to the command-line
  251.     compiler is .CPP; that is, if you enter
  252.  
  253.        TCC -c test
  254.  
  255.     the compiler will search for test.cpp, and give an error if a
  256.     file of that name cannot be found. If you want to have the
  257.     command-line compiler assume a .c extension and C language
  258.     source, use the command-line option -P-c. For more
  259.     information, see "The command-line compiler" in the User's
  260.     Guide.
  261.  
  262.   - Note that the Generate COMDEFs choice under
  263.     Options|Compiler|Advanced Code Generation and the -Fc command-
  264.     line option are only supported in the C language. Linker errors
  265.     will result if you attempt to use a communal variable in C++.
  266.  
  267.   - The macros min() and max() are not defined when stdlib.h is
  268.     compiled as C++ (to allow their use in 3rd party libraries,
  269.     etc.).
  270.  
  271.   - Note that SYMDEB creates .SYM files for use in debugging;
  272.     Turbo C++ creates .SYM files for pre-compiled headers. They
  273.     are not compatible and collisions should be avoided by
  274.     setting the name of the pre-compiled header file (using -
  275.     H=filename).
  276.  
  277.   - There is now full support of distance modifiers (near and
  278.     far) used for class member pointers. Here are two sample
  279.     declarations and their meanings:
  280.  
  281.        void (A::* far var) ();
  282.  
  283.     this is a far variable 'var' of type 'void (A::*)()';
  284.  
  285.        void (far A::* var) ();
  286.  
  287.     this is a 'default distance' variable 'var' of type
  288.     'void (far A::*)()'
  289.  
  290.   - If you use C++ templates, and use a separate TLINK command
  291.     line rather than letting TCC invoke TLINK, you should make
  292.     sure that you turn on case-sensitive links with the /c switch.
  293.  
  294.   - Incorrect code will be generated if you have a statement of
  295.     the type "A op B" where either A or B is an enum and the 
  296.     other operand is a long, and "op" is one of the following 
  297.     operators: 
  298.   
  299.        +=  -=  *=  /=  |  ^
  300.  
  301.     The same problem applies when the operands are a non-integer
  302.     enum and an int.  Cast the enum to long or int respectively
  303.     to solve the problem.
  304.  
  305.  
  306.   IDE
  307.  
  308.   - When debugging a mouse application the Options|Debugger|Display
  309.     Swapping option should be set to "Always" for best results.
  310.  
  311.   - In the IDE, the mouse cursor is turned off during compilation
  312.     for performance improvements.
  313.  
  314.   - To run or debug an overlaid application in the IDE when DOS
  315.     SHARE is loaded, the .EXE file must first be marked as
  316.     read-only.  Otherwise, unload SHARE.
  317.  
  318.   - Pressing Control-Break twice while running or stepping a
  319.     program from the IDE may cause unexpected results.  In
  320.     particular, avoid pressing Control-Break twice in response
  321.     to any function requiring input (scanf, getch, etc.).  To
  322.     break out of a program during such interaction, press
  323.     Control-Break and enter a valid input string.  Control will
  324.     be returned to the IDE.
  325.  
  326.  
  327.   EXAMPLE PROGRAMS
  328.  
  329.   - When you are running any example programs that come with .PRJ
  330.     files, if you didn't use the standard directories when you
  331.     installed Turbo C++ you will have to change the .PRJ file
  332.     to reflect your actual directory setup.  Do this from inside
  333.     Turbo C++ with Alt-O/D.
  334.  
  335.  
  336.   LINKING C++ WITH C
  337.  
  338.   - Linking C++ modules with C modules requires the use of a
  339.     linkage specification.  Prototypes for C functions within C++
  340.     modules must be in one of the following forms:
  341.  
  342.     extern "C" declaration
  343.     extern "C" { declarations }
  344.  
  345.     For example, if a C module contains these functions:
  346.  
  347.     char *SCopy(char*, char*);
  348.     void ClearScreen(void)
  349.  
  350.     they must be declared in a C++ module in one of the
  351.     following ways:
  352.  
  353.     extern "C" char *SCopy(char*, char*);
  354.     extern "C" void ClearScreen(void);
  355.  
  356.       or
  357.  
  358.      extern "C" {
  359.         char *SCopy(char*, char*);
  360.         void ClearScreen(void);
  361.      }
  362.  
  363.     Failure to do so will result in "Undefined symbol" errors
  364.     during link. For further examples, see the standard header
  365.     files.
  366.  
  367.  
  368.   CLASS LIBRARY
  369.  
  370.   - Two versions of the class libraries are provided; one that 
  371.     includes debug information and one that does not. Small 
  372.     versions of each are provided, and project files are 
  373.     provided to build other models.  Note that the non-debug 
  374.     versions are used by default.  If you would like to use the
  375.     debug version, copy it to the non-debug file.  For instance, 
  376.     in the CLASSLIB\LIB directory, copy TCLASDBS.LIB to 
  377.     TCLASSS.LIB for the small model version.
  378.  
  379.   - In some places the User's Guide incorrectly refers to the 
  380.     online documentation for the Container Class Libraries as 
  381.     CONTAIN.DOC.  The correct file name is CLASSLIB.DOC, located
  382.     in the ..\DOC directory.
  383.  
  384.  
  385.  5. TESTING YOUR EXPANDED MEMORY: EMSTEST.COM
  386. ---------------------------------------------
  387.  
  388.   Included with Turbo C++ is a program to test your Expanded
  389.   Memory hardware and software. If you have problems using
  390.   Turbo C++ with your EMS, type EMSTEST at the DOS prompt and
  391.   follow the instructions.
  392.  
  393.  6. CORRECTIONS TO THE ON-LINE HELP
  394. -----------------------------------
  395.  
  396.   The information for alloca is not available in on-line help.
  397.   The correct help screen should read as follows:
  398.  
  399.   ------------------------------------------------------------------
  400.   Function: alloca
  401.   Allocates temporary stack space
  402.  
  403.   Syntax:
  404.   #include <malloc.h>
  405.   void *alloca(size_t size);
  406.  
  407.   Remarks:
  408.   alloca allocates bytes on the stack.  The allocated space is 
  409.   automatically freed up when the calling function exits.
  410.  
  411.   Return value:
  412.     o On success (if enough stack space is available), returns a
  413.       pointer to the allocated stack area.
  414.     o On error, returns null.
  415.  
  416.   Argument size is the number of bytes allocated on the stack.
  417.  
  418.   Because alloca modifies the stack pointer, do no place calls to 
  419.   alloca in an expression that is an argument to a function.
  420.  
  421.   NOTE: If the calling function does not contain any references to 
  422.   local variables in the stack, the stack won't be resotored 
  423.   correctly when the function exits and your program will crash.
  424.   To ensure that the stack is restored correctly, use this code in 
  425.   your calling function:
  426.  
  427.     char *p;
  428.     char dummy[1];
  429.  
  430.     dummy[0] := 0;;
  431.       ...
  432.     p = alloca(nbytes);
  433.  
  434.   Because alloca is not defined in ANSI C, you should use malloc 
  435.   instead.
  436.  
  437.   See also:
  438.   malloc
  439.   ------------------------------------------------------------------
  440.  
  441.  
  442.  
  443. 
  444.