home *** CD-ROM | disk | FTP | other *** search
- WELCOME TO TURBO C 2.0
- ----------------------
-
- This README file contains important, last minute information
- about Turbo C 2.0. The HELPME!.DOC file on the COMMAND LINE/UTILITIES
- disk also answers many common Technical Support questions.
-
-
- TABLE OF CONTENTS
- -----------------
- 1. How to Get Help
- 2. Installation
- 3. Important Notes
- 4. Corrections to the Manuals
- 5. Additional Notes
- 6. Notes for Turbo Prolog Users
- 7. Files on the Disks
-
-
- 1. HOW TO GET HELP
- -------------------
-
- If you have any problems, please read this file, the
- HELPME!.DOC file, and the Turbo C manuals first. If you still
- have a question and need assistance, help is available from
- the following sources:
-
- 1. Type GO BOR on the CompuServe bulletin board system for
- instant access to the Borland forums with their libraries of
- technical information and answers to common questions.
-
- If you are not a member of CompuServe, see the enclosed special
- offer, and write for full details on how to receive a free
- IntroPak containing a $15 credit toward your first month's on-
- line charges.
-
- 2. Check with your local software dealer or users' group.
-
- 3. Write to us at the following address:
-
- Borland International
- Turbo C Technical Support
- 1800 Green Hills Road
- P.O. Box 660001
- Scotts Valley, CA 95066-0001
-
- Please remember to include your serial number or we will be
- unable to process your letter.
-
- 4. If you have an urgent problem that cannot wait and you have sent
- in the license agreement from the front of your manual, you may
- call the Borland Technical Support Department at (408) 438-5300.
- Please have the following information ready before calling:
-
- a. Product name and serial number on your original distribution
- disk. Please have your serial number ready or we will be
- unable to process your call.
-
- b. Product version number. The version number for Turbo C is
- displayed when you first load the program and before you
- press any keys.
-
- c. Computer brand, model, and the brands and model numbers of
- any additional hardware.
-
- d. Operating system and version number. (The version number can
- be determined by typing VER at the MSDOS prompt.)
-
- e. Contents of your AUTOEXEC.BAT file.
-
- f. Contents of your CONFIG.SYS file.
-
-
- 2. INSTALLATION
- ----------------
- The INSTALL/HELP disk contains a program called INSTALL.EXE that
- will assist you with the installation of Turbo C 2.0. There are
- three options for installation:
-
- 1. Hard Disk - This option allows you to pick the subdirectories
- where the files will be loaded. It will create a TURBOC.CFG
- file based on those directories.
-
- 2. Update from TC 1.5 - This allows for an easy update from version
- 1.5. After the files are copied, all the installed options
- from your current TC.EXE will be transferred to the new one.
- This is especially useful if you have modified the colors or
- editor keys.
-
- 3. Floppy Disk - This option will build either a command line or
- Integrated Development Environment version for a two drive
- system. Be sure to have three formatted disks ready before
- you start.
-
- To start the installation, change your current drive to the one
- that has the install program on it and type INSTALL. You will
- be given instructions in a box at the bottom of the screen for
- each prompt. For example, if you will be installing from drive
- A:, type:
-
- A:
- INSTALL
-
- You should read the rest of this README file to get further
- information about this release before you do the installation.
-
-
- 3. IMPORTANT NOTES
- -------------------
-
- o The file HELPME!.DOC contains discussions of common questions
- and answers concerning Turbo C 2.0. You should consult it for
- answers to problems that aren't covered in this file or in
- the manuals.
-
- o If you are running INSTALL or TCINST on a laptop or any other
- system that uses an LCD or composite display, you should set
- your system to black and white mode before running INSTALL
- or TCINST. You can do this from DOS with the following command
- line:
-
- mode bw80
-
- or, you can force INSTALL or TCINST to come up in black and
- white mode by using the /b switch:
-
- tcinst /b
-
- o /P PARAMETER FOR TC.EXE. A new command-line switch controls
- palette swapping on EGA video adapters. Using this switch
-
- tc /p hello
-
- is recommended only when the user program modifies the EGA
- palette registers. When /P is specified, the EGA palette will be
- restored each time the screen is swapped. In general, you don't
- need to use this switch unless your program modifies the EGA
- palette registers, or unless your program uses BGI to change
- the palette.
-
- o A program that takes over interrupt 9 cannot be debugged
- with the integrated debugger. Use the standalone Turbo Debugger
- instead.
-
- o exec() WITH NOVELL NETWORK. Versions of the Novell network
- system software earlier than 2.01-2 do not support a DOS
- call used by exec(), spawn(), and system(). If you are using
- the Integrated Development Environment to run a program that
- uses any of these functions and you have early Novell system
- software, run the program from DOS. To do this from the
- Integrated Development Environment you can use Alt-F/O.
-
- o If you used the INSTALL program to upgrade from version 1.5,
- or if you used CINSTXFR to transfer options from an
- installation of version 1.5, check the setting of the
- standard stack frame option in the Integrated Development
- Environment (Alt-O/C/C/S). If you are going to use the
- integrated debugger this option should be turned ON.
-
- o If you are having problems with the call stack or qualified
- names, make sure you have compiled with the standard stack
- frame option turned on.
-
- o The ANSI draft has changed the syntax of labels. A label now
- must always be followed by a statement. This means that code
- like this is no longer accepted:
-
- {
- .
- .
- .
- jump_label:
- }
-
- If you have code like this, change it to look like this:
-
- {
- .
- .
- .
- jump_label:
- ; /* need a statement here! */
- }
-
- o TCC has a switch to specify which assembler to look for. By
- default, it will look for TASM.EXE. If you want to use a
- different assembler, use -E<filename>, as described in the
- Reference Guide.
-
- o When using THELP on an AT&T 6300, be sure to use the /L25
- command-line option, as described in the file THELP.DOC.
-
- o When you use qualified variable names as described on page
- 57 of the User's Guide you don't need to use the module
- name to access a variable that is local to a global
- function. The module name is only needed when you access a
- static variable or a variable that is local to a static
- function.
-
- o Because of the limited memory available in the Tiny model,
- it no longer supports graphics functions.
-
- o The Version 1.5 graphics drivers (*.BGI) are not compatible
- with the Version 2.0 graphics library. Use the graphics drivers
- distributed with Version 2.0.
-
- o When used with a Zenith Z-449 card, the BGI autodetection code
- will always select the 640X480 enhanced EGA mode. If you are
- using the Z-449 with a monitor that is not compatible with
- this mode, it will be necessary to override the GraphDriver
- and GraphMode parameters used in the BGI initgraph() call.
-
-
- 4. CORRECTIONS TO THE MANUALS
- ------------------------------
-
- REFERENCE GUIDE:
-
- Page
-
- 159 The prototype for the function getdefaultpallette() is
- incorrect. It should be
-
- struct palettetype * far _Cdecl getdefaultpalette( void );
-
-
- USER'S GUIDE:
-
- Page
-
- 57 In the section entitled "Qualifying Variable Names," the
- last sentence should read "...need to type only myfunc.myvar."
-
- 66 The directions for compiling the WORDCNT program are
- incorrect. There is no WORDCNT.PRJ file; all you need to do
- is load the file WORDCNT.C into the editor. Once you have
- done that, the rest of the instructions are correct.
-
- 5. ADDITIONAL NOTES
- --------------------
-
- 5.1 NOTES FOR VERSION 1.0 & 1.5 USERS
- -------------------------------------
-
- o You must use the Version 2.0 libraries with the 2.0 compilers.
-
- o The Integrated Development Environment no longer displays the
- message "Press any key to return to Turbo C..." when your
- program terminates. Instead, at the end of your program the
- User screen is replaced by the Integrated Development
- Environment. To view the User screen, press Alt-F5 or
- select Alt-R/S. When you are viewing the User screen,
- pressing any key will return you to the Integrated
- Development Environment.
-
- o A new pseudo-variable has been added. _FLAGS now contains the
- value of the flags register so you can test the flags at any
- point in your program.
-
- o The ssignal() and gsignal() functions are no longer
- supported. See the section in this README on how to convert
- programs that use them.
-
- o The cprintf() function now works as documented. It does not
- translate line-feeds into CR/LF combinations.
-
- o Some compatibles had a problem under Version 1.5 because it
- used interrupt 18H. Version 2.0 does not use this interrupt,
- so you shouldn't encounter this problem anymore.
-
- o The program TCINST.COM in Version 1.0 has been changed to an
- .EXE file. You should delete the TCINST.COM program before
- trying to run the new TCINST.EXE. Otherwise, MS-DOS will actually
- run the old one.
-
- o The FILE structure for streams in Version 1.0 (but not 1.5) has
- been changed, so that the function tmpfile() could be implemented.
- You should recompile any modules that use stream I/O.
-
- 5.2 THELP
- ----------
-
- THELP is a memory-resident utility program that gives you
- access to the Turbo C context-sensitive help system from any
- program. You don't need to use THELP if you're in the
- Integrated Development Environment, but it is especially useful
- if you use the command line compiler and your own text editor,
- or if you are debugging with the standalone Turbo Debugger. To
- use THELP, load THELP.COM into memory by typing at the DOS
- command line:
-
- thelp
-
- You activate ("pop-up") THELP by typing its hot key -- by
- default numeric keypad <5>. All Turbo C help commands apply
- (F1, Ctrl-F1, Alt-F1). For a complete description of THELP,
- refer to THELP.DOC in the Documentation Subdirectory.
-
- 5.3 USING CINSTXFR.EXE
- ----------------------
-
- Your Turbo C 2.0 package contains a program named CINSTXFR.EXE,
- which can be used to transfer the configuration of the
- Integrated Development Environment from your copy of Turbo C
- 1.5 (not for 1.0) to your new installation of Turbo C 2.0. This
- program is run automatically by INSTALL.EXE if you select the
- option to "Update Hard Drive Copy of Turbo C 1.5 to Turbo C 2.0."
- If you prefer to do this yourself, you can run CINSTXFR.EXE from
- the DOS command line.
-
- CINSTXFR.EXE takes two arguments: the first is the name of your
- Turbo C 1.5 Integrated Development Environment file (usually
- TC.EXE), and the second is the name of your Turbo C 2.0
- Integrated Development Environment file (also usually TC.EXE).
- Either one of these names can also include a path name.
-
- For example, if your copy of the Turbo C 1.5 Integrated
- Development Environment file is named TC.EXE and is in a
- directory named \TURBOC and your copy of the Turbo C 2.0
- Integrated Development Environment file is also named TC.EXE
- but is located in a directory named \TC2, the command line to
- copy the configuration from 1.5 to 2.0 would look like this:
-
- CINSTXFR \TURBOC\TC.EXE \TC2\TC.EXE
-
- This will transfer all the options that you installed in
- your copy of Turbo C 1.5 to your copy of Turbo C 2.0.
-
- CINSTXFR.EXE does not work with Turbo C 1.0. If you are
- upgrading from Turbo C 1.0, you will have to install the
- options yourself.
-
- 5.4 CHANGED SWITCHES FOR OBJXREF
- --------------------------------
-
- OBJXREF is an object module cross reference utility and is
- described on page 528 of the Turbo C Reference Guide.
- The /O option (object files directory) has been changed to the
- /D (directories) option. The switch now allows for multiple
- search directories to be specified. The new syntax is:
-
- OBJXREF /Ddir1[;dir2[;dir3]]
- or
- OBJXREF /Ddir1 [/Ddir2] [/Ddir3]
-
- OBJXREF will search each of the directories in the specified
- order for all object and library files. If no /D option is
- used, only the current directory will be searched. However,
- if a /D option is used, the current directory will NOT be
- searched unless it is included in the directory list. For
- example, to first search the BORLAND directory for files and
- then search the current directory, you would type
-
- OBJXREF /Dborland;.
-
- If multiple search directories are specified and a file
- matching the file specification is found, OBJXREF will include
- the file as part of the cross-reference. OBJXREF will only
- continue to search the other directories for the same file
- specification if the file specification contains wildcards.
-
- A new option has been added to allow you to specify an output
- file where OBJXREF will send any reports generated. The new
- option is the /O option, and has the following syntax:
-
- OBJXREF myfile.obj /RU /Ofilename.ext
-
- By default, all output is sent to the console.
-
- 5.5 CONVERSION INFORMATION FOR ssignal() AND gsignal()
- ------------------------------------------------------
-
- Note: The C library and SIGNAL.H no longer support the ssignal()
- and gsignal() functions.
-
- ssignal() and gsignal() were from the old UNIX System III
- days. The ANSI standard no longer supports them nor does the
- current UNIX System V Interface Definition specification. To
- ease portation problems for people moving older code to Turbo
- C, we supply the source for the functions that came with TC
- 1.0 and TC 1.5. Also, the following discussion describes how
- code can be converted to do the same sort of things that
- ssignal() and gsignal() do without actually using them.
-
- NOTE: The constants defined in SIGNAL.H for SIG_IGN and
- SIG_DFL are different from the constants that were in
- TC 1.0 and TC 1.5.
-
- By using a globally declared array of function pointers, you
- can simulate the actions of ssignal() and gsignal() by using
- the following macros. Notice how the global table entry [0] is
- used as a temporary variable in the ssignal macro allowing the
- macro to swap the values and still return the original one.
-
- int (*_sigTable[16]) =
- {
- SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN,
- SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN,
- SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN,
- SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN,
- };
-
- #define ssignal(num, action) \
- ( \
- (((num) < 1) || ((num) > 15)) ? SIG_DFL : \
- ( \
- (_sigTable[0] = _sigTable[(num)]), /* List of actions */ \
- _sigTable[(num)] = (action), /* The last expression */ \
- _sigTable[0] /* is the return value */ \
- ) \
- ) \
-
- #define gsignal(num) \
- ( \
- (((num) < 1) || ((num) > 15)) ? 0 : \
- ( \
- (_sigTable[(num)] == SIG_IGN) ? 1 : \
- ( \
- (_sigTable[(num)] == SIG_DFL) ? 0 : (*_sigTable[(num)])() \
- ) \
- ) \
- ) \
-
-
- 6. NOTES FOR TURBO PROLOG USERS
- --------------------------------
-
- o If you are linking C code with programs generated by Turbo
- Prolog 2.0, use the file INIT.OBJ provided on the
- EXAMPLES/BGI/MISC disk of the Turbo C 2.0 package instead of
- the file provided with Turbo Prolog 2.0. There have been some
- changes made in Turbo C 2.0 that require the use of this new file.
-
- o If your C code uses floating point math and you link with the
- emulator library, Prolog will not automatically detect a math
- coprocessor chip. If you want to force the program to use the
- coprocessor, link it with FP87.LIB instead of EMU.LIB.
-
-
- 7. FILES ON THE DISKS
- ----------------------
-
- INSTALL/HELP
- ------------
- INSTALL EXE - Installation program
- README COM - Reads this README
- TCHELP TCH - Help file for Turbo C
- THELP COM - Pop-up utility to access TCHELP.TCH
- THELP DOC - Documentation for THELP.COM
- README - This file
-
- INTEGRATED DEVELOPMENT ENVIRONMENT
- ----------------------------------
- TC EXE - Turbo C Compiler
- TCCONFIG EXE - Program to convert configuration files
- MAKE EXE - Program for managing projects
- GREP COM - Turbo GREP program
- TOUCH COM - Program that updates a file's date and time
-
- COMMAND LINE/UTILITIES
- ----------------------
- TCC EXE - Command-line version of Turbo C Compiler
- CPP EXE - Turbo C preprocessor
- TCINST EXE - Installation program for TC.EXE
- TLINK EXE - Borland Turbo Linker
- HELPME! DOC - Common questions and answers
-
- LIBRARIES
- ---------
- C0S OBJ - Small model startup code
- C0T OBJ - Tiny model startup code
- C0L OBJ - Large model startup code
- MATHS LIB - Small model math library
- MATHL LIB - Large model math library
- CS LIB - Small model run-time library
- CL LIB - Large model run-time library
- EMU LIB - 8087 emulator library
- GRAPHICS LIB - Graphics library
- FP87 LIB - 8087 library
- TLIB EXE - Borland Turbo Librarian
-
- HEADER FILES/LIBRARIES
- ----------------------
- ???????? H - Turbo C header files
- <SYS> - Subdirectory with SYS\*.H header files
- C0C OBJ - Compact model startup code
- C0M OBJ - Medium model startup code
- MATHC LIB - Compact model math library
- MATHM LIB - Medium model math library
- CC LIB - Compact model run-time library
- CM LIB - Medium model run-time library
-
- EXAMPLES/BGI/MISC
- -----------------
- UNPACK COM - Program to unpack the .ARC files
- OBJXREF COM - Object file cross-reference utility
- C0H OBJ - Huge model startup code
- MATHH LIB - Huge model math library
- CH LIB - Huge model run-time library
- GETOPT C - Parses options in command line
- HELLO C - Example Turbo C program
- MATHERR C - Source code for handling math library exceptions
- SSIGNAL C - Source code for ssignal and gsignal functions
- CINSTXFR EXE - Program to copy TC 1.5 installation to TC 2.0
- INIT OBJ - Initialization code for use when linking with Prolog
-
- BGI ARC - BGI drivers and fonts
- BGIOBJ EXE - Conversion program for fonts and drivers
- ATT BGI - Graphics driver for ATT400 graphics card
- CGA BGI - Graphics driver for CGA
- EGAVGA BGI - Graphics driver for EGA and VGA
- HERC BGI - Graphics driver for Hercules
- IBM8514 BGI - Graphics driver for IBM 8514 graphics card
- PC3270 BGI - Graphics driver for PC3270
- GOTH CHR - Font for gothic character set
- LITT CHR - Font for small character set
- SANS CHR - Font for sans serif character set
- TRIP CHR - Font for triplex character set
- BGIDEMO C - Graphics demonstration program
-
- STARTUP ARC - ARC file with startup source code and related files
- RULES ASI - Assembler include file for interfacing with Turbo C
- C0 ASM - Assembler source for startup code
- SETARGV ASM - Assembler source code for parsing the command line
- SETENVP ASM - Assembler source code for preparing the environment
- BUILD-C0 BAT - Batch file for building the startup code modules
- MAIN C - Alternative, stripped-down C main file
- EMUVARS ASI - Assembler variable declarations for emulator
- WILDARGS OBJ - Object code for module to expand wildcard arguments
-
- EXAMPLES ARC - Various C examples code
- CPASDEMO PAS - Pascal program that demonstrates Turbo Pascal 4.0 -
- Turbo C interface
- CPASDEMO C - C example module for the Turbo Pascal 4.0 - Turbo C
- interface demonstration
- CTOPAS TC - Configuration file for use with TC.EXE that
- creates Turbo C modules in the correct format
- for linking with Turbo Pascal 4.0 programs
- CBAR C - Example function to be used with PBAR.PRO
- PBAR PRO - Example Turbo Prolog program demonstrating interface
- with Turbo C
- WORDCNT C - Example program demonstrating source level debugging.
- NOTE: DO NOT RUN THIS PROGRAM WITHOUT READING THE
- DISCUSSION IN THE MANUAL. IT CONTAINS
- DELIBERATE ERRORS.
- WORDCNT DAT - Data file for use by WORDCNT.C
-
- MCALC ARC - Mcalc sources and doc
- MCALC DOC - MicroCalc documentation
- MCALC C - MicroCalc main program source code
- MCINPUT C - MicroCalc input routines source code
- MCOMMAND C - MicroCalc commands source code
- MCPARSER C - MicroCalc input parser source code
- MCUTIL C - MicroCalc utilities source code
- MCDISPLY C - MicroCalc screen display source code
- MCALC H - The header file for MicroCalc
- MCALC PRJ - The MicroCalc project file