dos_compilers/Borland Turbo C++ v1/README
2024-07-02 07:34:51 -07:00

328 lines
13 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Welcome to Turbo C ++
---------------------
This README file contains important information about Turbo C++.
For the latest information about Turbo C++, the accompanying
programs, and the manuals, read this file in its entirety.
TABLE OF CONTENTS
-----------------
1. How to Get Help
2. Installation
3. Features
4. Important Information
5. Testing Your Expanded Memory
6. Corrections to the Documents
7. TCTOUR
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 BPROGB 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 that came with the package, 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++
can be displayed by pressing Alt-Space/A.
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
---------------
You MUST use the INSTALL program to install Turbo C++.
The files on the distribution disks are all archived and
have to be properly assembled. You cannot do this by
hand!
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. FEATURES
-----------
- C++! Turbo C++ offers you the full power of C++ programming,
implementing the entire C++ 2.0 language as defined by the AT&T
specification. To help you get started, we're also including
C++ class libraries.
- ANSI C! A 100% implementation of the ANSI C standard.
- Borland's Programmer's Platform. The Programmer's Platform belongs
to the next generation of user interfaces; it goes beyond the old
integrated environment (IDE) to provide access to the full range of
programs and tools on your computer. It includes:
-- mouse support
-- multiple overlapping windows
-- a multi-file editor
-- user-configurable menu entries to run other programs
without leaving Turbo C++
- VROOMM (overlay manager): VROOMM lets you overlay your code
without complexity. You select the code segments for
overlaying; VROOMM takes care of the rest, doing the work
needed to fit your code into 640K.
- An online tour of the Programmer's Platform.
- Online hypertext help, with copy-and-paste program examples
for practically every function.
- Many indispensable library functions, including heap checking
functions and a complete set of complex and BCD math functions.
- Note: The list of files is now contained in a separate file
called FILELIST.DOC, which will appear in the target
directory you specify during installation.
4. IMPORTANT INFORMATION
------------------------
C++ STREAM I/O
The standard libraries have all the functions needed for
the IOSTREAM libraries defined in the AT&T 2.0 spec. If
you have code that uses the STREAM libraries from the 1.0
spec, you must link with the appropriate OLDSTRMx.LIB
file, where 'x' is replaced by the letter for the
appropriate memory model:
oldstrms.lib -- small model
oldstrmc.lib -- compact model
oldstrmm.lib -- medium model
oldstrml.lib -- large model
oldstrmh.lib -- huge model
EXAMPLE PROGRAMS
When you are running any example programs that come with
.PRJ files, if you didn't use the standard directories when
you installed Turbo C++ you will have to change the .PRJ file
to reflect your actual directory setup. Do this from inside the
Turbo C++ IDE with Alt-O|D.
Included in this release is source code to the GREP2MSG and
TASM2MSG filter programs (in EXAMPLES), which give an example of
how to write your own custom filter programs to use with the
Transfer Menu.
COMPILER AVAILABLE MEMORY
To achieve better capacity and flexibility, Turbo C++ uses VROOMM,
which means that the reported "available memory" number (both with
the standalone compiler and in the integrated development environment)
reflects the actual amount of RAM available to VROOMM for the entire
compiler. What this means is that even when the reported available
memory approaches or is equal to zero, much larger files can still
be compiled at the expense of compilation speed. In the Programmer's
Platform, when memory available for VROOMM reaches zero, the compile
box will show "Swapping ...." as the amount of available memory; the
standalone compiler will merely report "Available memory 0" in this case.
OVERLAYS AND ASSEMBLY LANGUAGE
Just as all "C" modules to be linked into an overlaid executable must
be compiled with the -Y compiler switch, all assembly language modules
need to be assembled with the -O TASM switch. If an assembly file is
the result of a TCC compilation, TCC automatically passes -O to the
assembler whenever -Y is used. Modules written entirely in assembly
language must be assembled with the -O switch (using TASM version 2.0
or newer) if they are to be linked into an overlaid executable. Failure
to follow these rules may result in the overlaid program failing
unpredictably when run.
LINKING C++ WITH C
Linking C++ modules with C modules requires the use of a linkage
specification. Prototypes for C functions within C++ modules must
be in one of the following forms:
extern "C" declaration
extern "C" { declarations }
For example, if a C module contains functions "char *SCopy(char*, char*);"
and "void ClearScreen(void)", they must be declared in a C++ module in
one of the following ways:
extern "C" char *SCopy(char*, char*);
extern "C" void ClearScreen(void);
or
extern "C" {
char *SCopy(char*, char*)
void ClearScreen(void);
}
Failure to do so will result in "Undefined symbol" errors during link.
For further examples, see the standard header files. There's also a more
in-depth explanation in the Programmer's Guide.
IMPORTANT NOTES
- If you use inline assembler in C++, TASM 1.0 may not be able
to assemble the generated code. If you run into this problem,
you will need to update to version 2.0 of TASM.
- Functions that return structures now take a hidden
parameter that contains the address where the returned
structure is to be placed. If you are writing assembler
code to link with C code you must be sure to allow for
this extra parameter.
- When debugging a mouse application the Options|Debugging|Display
Swapping option should be set to "Always" for best results.
- When running under DOS versions 2.0 or 2.1, you should not rename
TC, TCC, or TLINK. They need to know their names to be able to
load their overlays.
- TEMC will not allow a macro to contain multiple commands that return
exit codes.
- If you have selected Save Desktop in the Turbo C++ Programmer's
Platform, everything that you put into the clipboard will be saved
as part of the desktop. After several sessions this may make
starting the Programmer's Platform take longer. If this happens
to you (you will see the message "Loading Desktop" while the
Programmer's Platform is loading), you can speed things up by
deleting unneeded things from the clipboard. Just select Alt-E|S
to show the clipboard, and start deleting.
- In some rather unusual situations when stepping through
a program in the IDE you may get a message saying "Line
too complex". This means that the Programmer's Platform
can't step past the line it is currently on. To continue
stepping, you should move the cursor to the next line in
the program and press F4 (Go to Cursor). If the line where
this message occurs is the last line in a function, use
the Call Stack (Ctrl-F3 or Alt-D|C) to see where the function
was called from, select the calling function (by moving the
highlight to it and pressing Enter), move the cursor to the
next line, and press F4.
- If you change your keyboard settings using the Editor Commands
choice in TCINST, you may lose some key assignments. To avoid
this, use the following procedure:
1) don't save the modifications to the EXE; instead invoke
TCINST with the name of your configuration file, by default
TCCONFIG.TC.
2) create a file containing the following line:
Tab: SmartTab;
and invoke TEMC with the name of that file and the name
of your configuration file as arguments.
As an example, you can follow these exact steps:
CD \TC\BIN
TCINST TCCONFIG.TC
<make changes, save, and exit TCINST>
COPY CON TEMP.TEM
Tab: SmartTab;
<Ctrl-Z>
TEMC TEMP.TEM TCCONFIG.TC
- If a directory contains only one project file, invoking Turbo C++ without
any parameters will open that project. If this behavior is not
desired, a second 'dummy' project file must be placed in that
directory or the current project file must be removed.
- Using the 'registerbgidriver' function may result in the following
link error: "Segment _TEXT exceeds 64K". In order to avoid this,
it is recommended that the 'registerfarbgidriver' function be used
instead. Please see UTIL.DOC for a more complete discussion of this
subject.
5. Testing Your Expanded Memory: EMSTEST.COM
--------------------------------------------
Included with Turbo C++ is a program to test your Expanded Memory
hardware and software. If you have problems using Turbo C++ with
your EMS, type EMSTEST at the DOS prompt and follow the instructions.
6. Corrections to the Documents
--------------------------------
There are no corrections needed currently.
7. TCTOUR
---------
TCTOUR is a visual introduction to the Programmer's Platform.
Since the Programmer's Platform is Borland's newest interface,
taking the tour is time well spent even if you are already familiar
with other Borland products.
To start the tour, type "TCTOUR" from the DOS prompt.
- TCTOUR remembers what lessons a user has completed, and if
you quit a lesson before completing it, what screen # you last saw.
This information is stored in a .USR file, and can be recalled by
starting TCTOUR again and typing your user name at the prompt just
after the color rainbow.
Lessons that a user has completed should show up without shading
on the main TCTOUR menu. Only new users (no .USR file) get the
excursion through "Using Tour."
- The Navigator can be pulled up within any lesson file and within
"Using TCTOUR", but nowhere else. It is pulled up by pressing the
Control key, which allows you to move forward, backward, to the
beginning of a lesson, to the end of a lesson, to the lesson summary,
to the main menu, to get a reminder, to quit. Ctrl-B (backwards) is
disabled when you are on the first slide of a lesson.
- Hints (or Reminders) pop up in any lesson files and in "Using TCTOUR".
They pop up if:
1) you wait 30 - 60 seconds before doing any action
2) you press Ctrl-R
3) you make an incorrect action