VC++ README.WRI Part 2-Visual Workbench (2 of 3)
ID: Q97537
|
The information in this article applies to:
-
The Visual Workbench
-
Microsoft Visual C++ for Windows, 16-bit edition, version 1.0
SUMMARY
The text below presents information in Part 2 of the README.WRI file
distributed with Microsoft Visual C++ version 1.0. Setup installs
README.WRI into the MSVC\HELP directory.
MORE INFORMATION
Shortcut Key for Hierarchy Button in MFC Help
The class hierarchy charts invoked by the Hierarchy button are
displayed in popup windows. However, popup windows cannot be invoked
using an ALT+key command. To display a hierarchy chart using the
keyboard, use either CTRL+I or I by itself instead of ALT+I.
Using the Insertion Point with Some Bold Fonts
When you use a bold font that is not a TrueType font, the insertion
point may appear to be positioned incorrectly. Use another font if you
notice this condition.
External Makefiles that Prompt at the MS-DOS Command Line
If you are using an external makefile in Visual Workbench, remove any
commands in the makefile that prompt for input at the MS-DOS command
line. Visual Workbench does not recognize prompts in an external
makefile and any that occur will pause the build and cause the system
to appear to be hung.
Workspace files in Visual Workbench for Visual C++ and FORTRAN
Versions of Visual Workbench for Visual C++ and FORTRAN share the same
format for workspace files (.WSP). If you have a Visual Workbench
FORTRAN project and Visual C++ project in the same directory, they
will use the same workspace file. For example, if a workspace is saved
by a FORTRAN Visual Workbench session and a Visual C++ Visual
Workbench session is run next, the workspace saved by the FORTRAN
session will be loaded.
Building a DLL
When building a dynamic-link library using Microsoft C version 6.0,
you needed to link the LibEntry module, which contained startup code
that initialized the local heap and called the C LibMain function.
LibMain is where you write your DLL initialization code. Equivalent
code for LibEntry is now incorporated in the Visual C++ Windows DLL
run-time library, and the LIBENTRY.OBJ and LIBENTRY.ASM files are no
longer provided with Visual C++.
If you need to initialize your DLL, you can write your own C or C++
LibMain function, which will be called automatically at startup. If
you do not need to initialize the DLL, a substitute for the LibMain
function (which simply returns 1) is automatically provided by the DLL
run-time library.
If you are modifying an existing DLL project to work with Visual C++,
remove any statements from your makefile that link LIBENTRY.OBJ, as
this file is no longer provided.
Building VBX Controls
To build VBX controls, the VBAPI.LIB library must be added to list of
additional libraries used by the linker. This library can be specified
by choosing the Projects dialog from the Options menu, and then
choosing Miscellaneous options in the Linker options dialog. Specify
/LIB:"<path>\VBAPI" in the Other Options field, where <path> describes
the directory where the VBAPI.LIB file is installed.
Building Example VBX Controls Supplied With the Visual Basic CDK
The example VBX controls provided in the Visual Basic Control
Development Kit must be built using the small memory model to work
with Visual C++.
Using #pragma optimize
You can use the #pragma optimize command in your source code to
control optimization options for files or functions in Visual
Workbench projects. The command must appear outside of function
bodies. The syntax is:
#pragma optimize( "[optimization switch list]", {off | on} )
The optimization switch list may be zero or more of the following:
'a', 'w', 't', 's', 'c', 'g', 'e', 'l',
'p', 'z', 'n', 'r', 'o', 'q', 'f', 'v'.
These are the same letters used with the /O compiler options. For
example,
#pragma optimize( "lge", off )
Two special forms are supported. The form below turns off all
optimization other than p-code ('q'):
#pragma optimize( "", off )
The form below restores all optimization switch settings to the
project's original settings:
#pragma optimize( "", on )
For more information about pragmas, search for 'pragma' in the C/C++
Language Reference online help file.
Debugging Using an ATI Ultra Display Adapter
If you are using an ATI Ultra display adapter to debug applications in
Visual Workbench you may encounter INT 3s as you execute code. Newer
versions of the display drivers may solve this problem. The most recent
drivers are available on the ATI BBS. The numbers for ATI User Support
are:
- BBS: 905-764-9404
- Support FAX: 905-882-0546
- Customer Support: 905-882-2626
- General Inquiries: 905-882-2600
Using Visual Workbench Debugger in Hard Mode
In Chapter 11 of the "Visual Workbench User's Guide," in the
description of Hard mode debugging, the "Requirements and
Restrictions" section on page 197 should contain the following
additional restrictions:
- While in Hard mode you do not have access to the Project Options
dialog box nor can you use the mouse to access combo box controls,
or the Project Files button on the toolbar. You can, however, use
keyboard commands to access combo box controls.
- Starting other applications (including Help and the Class Wizard)
while debugging in Hard mode can cause Windows to crash.
Some Controls Disabled When Debugging in Hard Mode
If you are in Hard Mode, some controls do not accept mouse input. This
includes any combo boxes, and the Project Files button on the toolbar.
In this case, you must use the keyboard to access these controls.
Using Combo List Boxes in Hard Mode
Combo list boxes may not work well with mouse clicks when the debugger
is in hard mode and stopped at a breakpoint. Use keyboard commands to
access combo list boxes in Visual Workbench in this situation.
Auto Select Code Generator Option
In the discussion of the Code Generator list box in Chapter 9 of the
"Visual Workbench User's Guide" (pages 120-121), the options for the
Visual C++ Professional Edition are different than stated. There are
actually three options: Auto Select (the default), Fast, and
Optimizing.
Auto Select instructs the compiler to determine whether to use the
fast or optimizing compiler based on other options you have selected.
Normally the Auto Select option selects the fast compiler. However, if
any of the following optimizations are selected, then the optimizing
compiler is used: /Oa, /Ow, /Oc, /Og, /Oe, /Oi, /Ol, /Os, /Ot, /Ox,
/Oz. The same is true if 80386 code generation (/G3), altmath (/FPa),
or floating point calls (/FPc, /FPc87) are selected.
Auto Select places neither /f nor /f- in the options string and allows
you access to all option controls in the C/C++ Compiler Options dialog
box. If you select options that are incompatible, the compiler
generates an error or warning at build time. The Fast code generator
option places /f in the options string and the Optimizing code
generator option places /f- in the options string. Both Fast and
Optimizing options deny access to C/C++ Options dialog box controls
that are incompatible with their code generator types.
Since Auto Select is the default for Visual C++ Professional Edition,
Table 9.1 on page 116, which lists /f- as the default release-specific
compiler option for several project types, is in error.
The /f- compiler option is never explicitly selected by default.
However, in every case where /f- appears in Table 9.1, the compiler
actually implicitly chooses the optimizing compiler because of other
options (/O1 or /Ox).
Additional query words:
1.00
Keywords : kb16bitonly
Version :
Platform :
Issue type :
Last Reviewed: August 2, 1999