T7-The Visual C++ Components

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 13

The Visual C++ Components

11/04/21 1
11/04/21 2
The Visual C++ Components

• Microsoft Visual C++ is two complete Windows


application development systems in one product.

• You can develop C-language Windows programs


using only the Win32 API.

• You can use many Visual C++ tools, including the


resource editors, to make low-level Win32
programming easier.

11/04/21 3
VC++ Components

• Components:
 The Project
 The Resource Editors—Workspace ResourceView
 The C/C++ Compiler
 The Source Code Editor
 The Resource Compiler
 The Linker
 The Debugger
 AppWizard
 Classwizard
• overview of the Visual C++ application build process.
11/04/21 4
Microsoft Visual C++ 6.0 and the Build Process
• Visual C++ 6.0 in action.
• what is a project?
• A project is a collection of interrelated source files that are
compiled and linked to make up an executable Windows-based
program or a DLL.
• Source files for each project are generally stored in a separate
subdirectory.
• A project depends on many files outside the project subdirectory
too, such as include files and library files.

A makefile stores compiler and linker options and expresses all the
interrelationships among source files.

A make program reads the makefile and then invokes the compiler,
assembler, resource compiler, and linker to produce the final
output, which is generally an executable file.
11/04/21 5
Contd…
• In a Visual C++ 6.0 project, there is no makefile (with an MAK
extension) unless you tell the system to export one.

• A text-format project file (with a DSP extension) serves the same


purpose.

• A separate text-format workspace file (with a DSW extension) has


an entry for each project in the workspace.

• It's possible to have multiple projects in a workspace, but all the


examples in this book have just one project per workspace.

• To work on an existing project, you tell Visual C++ to open the


DSW file and then you can edit and build the project.

11/04/21 6
VC++ Project Files
Visual C++ creates some intermediate files too

File Extension Description


APS Supports ResourceView
BSC Browser information file
CLW Supports ClassWizard
DEP Dependency file
DSP Project file
*DSW Workspace file
*MAK External makefile
NCB Supports ClassView
OPT Holds workspace configuration
PLG Builds log file

* Do not delete or edit in a text editor.


11/04/21 7
The Resource Editors—
Workspace ResourceView
• Each project usually has one text-format resource script (RC) file that
describes the project's menu, dialog, string, and accelerator
resources.

• The RC file also has #include statements to bring in resources from


other subdirectories.

• These resources include project-specific items, such as bitmap (BMP)


and icon (ICO) files, and resources common to all Visual C++
programs, such as error message strings.

• Editing the RC file outside the resource editors is not recommended.

• The resource editors can also process EXE and DLL files, so you can
use the clipboard to "steal" resources, such as bitmaps and icons,
from other Windows applications.
11/04/21 8
The C/C++ Compiler
• The Visual C++ compiler can process both C source code and C++ source
code.

• It determines the language by looking at the source code's filename extension.

• A C extension indicates C source code, and CPP or CXX indicates C++ source
code.

• The compiler is compliant with all ANSI standards, including the latest
recommendations of a working group on C++ libraries, and has additional
Microsoft extensions.

• Templates, exceptions, and runtime type identification (RTTI) are fully


supported in Visual C++ version 6.0.

• The C++ Standard Template Library (STL) is also included, although it is not
integrated into the MFC library.
11/04/21 9
The Other Components
• The Source Code Editor
Visual C++ 6.0 includes a sophisticated source code editor that
supports many features such as dynamic syntax coloring, auto-
tabbing, keyboard bindings

• The Resource Compiler


The Visual C++ resource compiler reads an ASCII resource script
(RC) file from the resource editors and writes a binary RES file for
the linker.

• The Linker
The linker reads the OBJ and RES files produced by the C/C++
compiler and the resource compiler, and it accesses LIB files for
MFC code, runtime library code, and Windows code. It then writes
the project's EXE file.

11/04/21 10
The Debugger
• The Visual C++ debugger has been steadily improving, but it
doesn't actually fix the bugs yet. The debugger works closely with
Visual C++ to ensure that breakpoints are saved on disk.

• The Visual C++ debugger window.

11/04/21 11
AppWizard
• AppWizard
 AppWizard is a code generator that creates a
working skeleton of a Windows application
with features, class names, and source code
filenames that you specify through dialog
boxes.
 AppWizard code is minimalist code; the
functionality is inside the application
framework base classes.
 AppWizard gets you started quickly with a
new application.

11/04/21 12
ClassWizard
• ClassWizard
 ClassWizard is a program (implemented as a DLL)
that's accessible from Visual C++'s View menu.

 ClassWizard takes the drudgery out of maintaining


Visual C++ class code.

 Need a new class, a new virtual function, or a new


message-handler function?

 ClassWizard writes the prototypes, the function bodies, and


(if necessary) the code to link the Windows message to the
function.
 ClassWizard can update class code that you write, so you
avoid the maintenance problems common to ordinary code
generators.

11/04/21 13

You might also like