VC++ README.WRI Parts 9 and 10-C Run-Time Library, Misc.
ID: Q97546
|
The information in this article applies to:
-
The C Run-Time (CRT), included with:
-
Microsoft Visual C++ for Windows, 16-bit edition, version 1.0
SUMMARY
The text below presents information in Parts 9 and 10 of the
README.WRI file distributed with Microsoft Visual C++ version 1.0.
Setup installs README.WRI in the MSVC\HELP directory.
Some Functions in Small- and Medium-
Model DLL Libraries Give Unpredictable Results
The following C run-time functions give unpredictable results in small
and medium model Windows DLL libraries as distributed with Visual C++:
_chsize clock ctime fclose fcloseall
freopen _fstat _ftime _fullpath _getcwd
_getdcwd _getw localtime mktime _rmtmp
_searchenv _stat time tmpfile _utime
wcstombs
Character Sets Used For Command-Line Arguments
Applications for Windows and QuickWin applications use different
character sets for different command-line arguments. The OEM character
set is used to pass the first argument, argv[0], and all subsequent
arguments are passed using the ANSI character set.
Part 10: Miscellaneous Notes
Super VGA Support
If your SuperVGA card does not support VESA BIOS in ROM, and you wish
to use the SuperVGA modes under MS-DOS with GRAPHICS.LIB, you may have
to install one of the VESA TSRs provided in the BIN\VIDEO directory.
See the description of the Run-Time Library function _setvideomode()
for more information and warnings about Super VGA Support. Note that
the names of the TSRs are incorrectly described in the _setvideomode()
documentation. The correct names are listed below. If your video card
is not supported by any of these TSRs, contact your dealer, video card
manufacturer, or the Video Electronic Standards Association for the
appropriate TSR program.
The following VESA TSRs are provided with Visual C++, in the
MSVC\BIN\VIDEO directory:
VESA Driver Manufacturer
-------------------------------------------------------------------
EVRXVESA.COM Everex
HTVESA.COM Headland Technologies (formerly Video7)
VESA1A1B.EXE Western Digital / Paradise, versions 1A and 1B
VESA1C.EXE Western Digital / Paradise, WD90C11 based,
version 1C
WDVESA.EXE Western Digital / Paradise, WD90C30/31 based,
version 1D, and Windows Accelerator cards,
version 1DW
VESA1D.EXE Dell (see next paragraph for more information)
VVESA.COM ATI Technologies
Super VGA Support on DELL Systems
If your machine hangs when using GRAPHICS.LIB, you may be running into
a bug in the ROM BIOS of certain DELL models equipped with Western
Digital SuperVGA video adapters. Contact DELL to see if a ROM upgrade
is available. Meanwhile, there are two workarounds for this problem:
- Before using SuperVGA modes run the VESA1D.EXE driver, supplied in
the MSVC\BIN\VIDEO directory.
- If you don't need the SuperVGA modes, link LIB\NOVESA.OBJ into your
program. NOVESA.OBJ is described below.
Reducing Non-SuperVGA Program Size
You can reduce the executable-file size by about 2K for a program that
uses functions in GRAPHICS.LIB but doesn't use the SuperVGA modes. To
do this, link your program with the NOVESA.OBJ file supplied in the
MSVC\LIB directory. If you explicitly name GRAPHICS.LIB in the compile
or link command, place it after NOVESA.OBJ on the options string or
command line. Use the Disable Extended Dictionary Searches (/NOE)
linker option to avoid multiple symbol definitions.
Using NOVESA.OBJ will also avoid problems on systems that contain bugs
in the VESA ROM BIOS.
Using Object Files Created with Microsoft Pascal version 4.0
Object files created using Microsoft Pascal version 4.0 are not
compatible with Microsoft Visual C++ 1.0 or the version of LINK
provided with it.
STUB NONE Entry in .DEF File
The STUB entry in a .DEF file must not be NONE. An application built
with STUB NONE will lock the system when run from an MS-DOS prompt,
and will not load under Windows.
File Base Names Must Be Unique
The base names used by each source file in your project must be
unique. If, for example, your project contains files named MYAPP.C and
MYAPP.CPP, there will be a name collision between the MYAPP.SBR files
created for each source file.
Network Compatibility
Visual C++ requires a network version that supports the 80386
processor. A network that supports only the 80286 or earlier
processor, such as Novell NetWare 2.2 cannot be used.
Using PWB with Visual C++
The Programmer's Workbench provided with Microsoft C/C++ version 7.0
can, with some limitations, be used with Visual C++. However, PWB has
not been tested with Visual C++. Some PWB features may be incompatible
with Visual C++.
The only file required to use PWB is PWB.EXE, though the PWBHELP.MXT,
PWBC.MXT, PWBUTILS.MXT, and PWBROWSE.MXT extensions may be useful. The
PWB.EXE file should be installed in a directory on the PATH
environment variable. The extensions should be in the same directory
as PWB.EXE. The INIT environment variable should point to your
TOOLS.INI file. If you plan to use the help extension, make sure that
the HELPFILES environment variable points to the directory containing
the help files. The help files provided with Visual C++ cannot be used
with PWB.
The PWB C extension (PWBC.MXT) does not directly support new compiler
options (such as /O1 and /O2). However, you can specify new options
from the Additional Options dialog accessible from the Compiler
Options dialog. The Visual C++ makefile format is not compatible with
the PWB makefile format. You can use a PWB makefile as an External
Project in Visual C++, and use a Visual C++ makefile as a Non-PWB
Project in PWB.
If you plan to run applications for Windows from PWB you will need the
WX.EXE and WXSRVR.EXE utilities. Additionally, the VMB.386 file should
be listed in the [386Enh] section of your SYSTEM.INI file. If the
backup option in PWB is set to Undel, you will also need the
UNDEL.EXE, RM.EXE, and EXP.EXE utilities.
Additional query words:
1.00 WX Server SVGA README.WRI
Keywords : kb16bitonly kbCRT kbVC
Version : 1.00
Platform : WINDOWS
Issue type :
Last Reviewed: August 2, 1999