[Home]
[Contents]
[Next]
1. Introducing Digital Mars C++
Welcome to the Digital Mars C++ for Windows 95, Windows NT 3.5,
Windows 3.1, and DOS. This chapter contains information on
how to use this book and what you need to know about Digital Mars C++.
For a list of the Digital Mars C++ features, see the
Getting Started Guide.
Prerequisites for Using Digital Mars C++
This book assumes that you know, or are learning how to program
in, C or C++. You should also be familiar with the Windows and
DOS operating systems. This book does not show you how to use
either operating system. It assumes that you know how to choose
menu commands, select options, and work with other user interface
elements in Windows. For more information about Windows or
DOS, see the appropriate user's manual.
You should also be familiar with fundamentals of the development
cycle including editing, linking, compiling, and debugging.
Fulfilling the prerequisites
If you are just beginning with C or C++, Digital Mars C++ is a great
platform to learn on. However, a tutorial on C or C++ is beyond the
scope of this manual. The following list of books can serve as
resources on the C language:
- Standard C by P. J. Plauger and Jim Brodie (Microsoft
Press) is a guide to writing C programs that conform to
the ANSI C standard. Both authors were officers of the
committee that drafted the ANSI standard.
- Software Engineering in C by Peter Darnell and Philip
Margolis (Springer-Verlag) is an introduction to the C
programming language. This book is ideal for new C
programmers who have programmed in other languages.
- C Traps and Pitfalls by Andrew Koenig (Addison-Wesley),
written for intermediate and advanced C
programmers, contains a detailed discussion of common
C programming problems.
- Numerical Recipes in C by William Press, Brian Flannery,
Saul Teukolsky, and William Vetterling (Cambridge
University Press) is a detailed technical description of
numerical methods with implementation examples in C.
- Portability and the C Language by Rex Jaeschke (Hayden
Books) covers writing portable C programs and is
suitable for advanced C programmers. It provides
guidelines on writing programs that can be compiled
with different compilers and run on multiple platforms. It
points out changes introduced with ANSI C. It is useful if
you port code from one platform to another or from an
old (pre-ANSI) version of Zortech to Digital Mars C++.
- Portable C Software by Mark R. Horton (Prentice Hall) is
also about writing portable C programs, but emphasizes
porting among C compilers for UNIX and MS-DOS.
- The C Programming Language, 2d by Brian Kernighan
and Dennis Ritchie (Prentice Hall) is an update to The C
Programming Language that incorporates what was then
the latest draft of the ANSI standard.
- C: A Reference Manual, 2d by Samuel Harbison and Guy
Steele, Jr. (Prentice Hall) contains a detailed and
authoritative discussion of the syntax, meaning, and
idiomatic usage of ANSI Standard C.
- The document describing the ANSI standard is American
National Standard for Information Systems—
Programming Language— C X3. 159 –1989. Cost is $50,
plus $5 for shipping and handling. To order, contact:
American National Standards Institute (ANSI)
Sales Dept.
1430 Broadway
New York, NY 10018
(212) 642-4900
The following books can help both beginning and experienced C++
programmers:
- The Annotated C++ Reference Manual by Margaret Ellis
and Bjarne Stroustrup (Addison-Wesley, 1990).
- The C++ Programming Language, 2d by Bjarne
Stroustrup (Addison-Wesley, 1992) includes a
10-chapter tutorial introduction to C++.
- The C++ Primer, 2d by Stanley Lipman (Addison-Wesley,
1992) is a solid and easy-to-read introduction to C++. It
does not assume knowledge of C, but does assume
knowledge of some modern block structured language.
- Object-Oriented Programming in C++ by Ira Pohl
(Benjamin/ Cummings Publishing, 1993) is helpful for
learning both C++ and object-oriented programming
techniques.
- The C++ Answer Book by Tony L. Hansen (Addison-Wesley,
1990) contains useful examples, questions, and
answers. Although it was written as a companion book
to the first edition of The C++ Programming Language, it
is still current and informative.
- C++ for C Programmers by Ira Pohl (Benjamin/
Cummings Publishing, 1989) is appropriate for
experienced C programmers learning C++. It introduces
the features that programmers can put into immediate
practice in C++.
- The IOStreams Handbook by Steve Teale (Addison-Wesley,
1993) is a comprehensive, detailed explanation
of the standard input and output library used in C++.
- The document describing the ANSI draft proposed
standard for C++ is Working Paper for Draft Proposed
International Standard for Information Systems—
Programming Language— C++ X3J16. To order the latest
revision, contact:
American National Standards Institute (ANSI)
Standards Secretariat: CBEMA
1250 Eye Street NW
Suite 200
Washington, DC 20005
- The Draft Standard C++ Library, by P. J. Plauger
(Prentice-Hall) describes the draft proposed standard
C++ runtime library.
Digital Mars C++ can provide help in setting up the framework of your
Windows applications. However, if you are writing such an
application, you still need to know Windows programming basics.
Some books that deal with beginning and advanced Windows
programming concepts are listed below:
- Advanced Windows by Jeffrey Richter (Microsoft Press)
covers 32-bit Windows programming concepts.
- Programming Windows 3. 1 by Charles Petzold
(Microsoft Press, 1992) is the definitive book on
Windows programming.
- Advanced Windows Programming by Martin Heller
( John Wiley & Sons, Inc., 1992) builds on Petzold's
Programming Windows 3. 1.
- Undocumented Windows by Andrew Schulman, David
Maxey, and Matt Pietrek (Addison-Wesley, 1992) is a
guide and reference to the Windows API functions left
undocumented or "reserved" by Microsoft.
- Windows Programmer's Guide to DLLs and Memory
Management by Mike Klein (SAMS, A division of
Prentice Hall Computer Publishing, 1992) gives in-depth
coverage of designing and building DLLs and how
memory is managed in the Windows environment.
- Windows++, Writing Reusable Windows Code in C++ by
Paul DiLascia (Addison-Wesley, 1992) discusses an
application framework for Windows using C++ that the
author developed for his own applications. This book
also provides insight into using C++ to improve
Windows programming productivity.
- Writing Windows Device Drivers by Daniel A. Norton
(Addison-Wesley) is a guide and reference to writing 16-
bit Windows device drivers.
Other useful titles include:
- 8087/ 80287/ 80387 for the IBM PC and Compatibles,
Third Edition, Richard Startz. (Brady Books).
- IEEE Standard for Binary Floating-Point Arithmetic,
ANSI/ IEEE Standard 754-1985. (The Institute of Electrical
and Electronic Engineers, Inc.).
- CV4 Symbolic Debug Information Specification.
(Languages Business Unit, Microsoft Corp.).
- Microsoft Object Mapping Specification. (Languages
Business Unit, Microsoft Corp.).
- The Microsoft Object Module Format (OMF). (Languages
Business Unit, Microsoft Corp.).
- ZEN of Graphics Programming, Michael Abrash. (Coriolis
Group Books).
- ZEN of Code Optimization, Michael Abrash. (Coriolis
Group Books).
- Pentium Processor User's Manual, Vol. 1: Architecture
and Programming Manual. (Intel Corp. Literature Sales).
Conventions
This book uses the following typographic conventions:
- Names of menus, commands, and dialog boxes are in
boldface.
- Filenames, code fragments, function names, variables,
and information you type appear in typewriter face.
- All numbers are decimal numbers. Hexadecimal numbers
are written in C notation, for example: 0x3EFA, instead
of Pascal notation ($ 3EFA).
- Key combinations are shown as follows: Shift+ F2, Alt+ F,
Ctrl+ F3.
- Metanames appear in italic.
Finding the Information You Need
This manual is divided into the following six parts:
- One: "Welcome to Digital Mars C++"
- In addition to the current chapter, this
part contains a chapter introducing the
Integrated Development and Debugging
Environment (IDDE).
- Two: "Creating an Application with Digital Mars C++"
- These chapters guide you through
creating your first application in
Digital Mars C++.
- Three: "Learning Digital Mars C++ by Example"
- These tutorial chapters take you through
building DOS and Windows hypertext
file reader applications.
- Four: "More about Creating Programs"
- These chapters provide more detail
about IDDE settings, workspaces, the
application framework designers, the
class browsers, the text editor, and
version control.
- Five: "More about Testing Programs"
- These chapters explain in detail the
debugging features of Digital Mars C++.
- Six: "About Managing Resources"
- The chapters in this part describe in
detail how to use the Digital Mars
ResourceStudio to create and edit
resources.
- Seven: "Appendixes"
- This part contains appendixes on
expression evaluation, the relationship
between IDDE settings and command-line
options, and the NetBuild feature.
Suggestions for the new users of Digital Mars C++
If you are new to Digital Mars C++, congratulations and welcome. We
hope you find our product powerful and easy to use. You should
read
Introducing the IDDE
and work through the
tutorials in Chapters 9-14 to become proficient with Digital Mars C++
quickly.
Suggestions for users new to Windows development
If you are starting to program for Windows, Digital Mars C++ is a great
platform. You should read
Generating an Application Framework,
and
Adding Look and Feel with Resources.
Also you should read the tutorials (Chapters 9-14), which guide you
through the development of a Windows application.
Suggestions for users porting to Digital Mars C++
If you need to port your code from another compiler or from a
previous version of C++, read the
"Switching to Digital Mars C++" chapter in the Compiler and Tools
Guide.
Suggestions for users upgrading to Digital Mars C++
If you are upgrading from a previous version of Digital Mars C++ and
want to learn about the new product features, read
Generating an Application Framework,
Defining Classes and Their Hierarchies,
Adding Look and Feel with Resources,
More about AppExpress,
and
More about ClassExpress.