100% found this document useful (7 votes)
5K views

T7-The Visual C++ Components

Visual C++ includes tools for C and C++ development on Windows including a compiler, debugger, resource editors, and wizards. It allows developing at the API level or using MFC classes. The build process is managed by project and workspace files rather than makefiles. Key components include the compiler, linker, resource editors, AppWizard for app skeletons, and ClassWizard for class maintenance.

Uploaded by

michael.ferraris
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (7 votes)
5K views

T7-The Visual C++ Components

Visual C++ includes tools for C and C++ development on Windows including a compiler, debugger, resource editors, and wizards. It allows developing at the API level or using MFC classes. The build process is managed by project and workspace files rather than makefiles. Key components include the compiler, linker, resource editors, AppWizard for app skeletons, and ClassWizard for class maintenance.

Uploaded by

michael.ferraris
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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