Microsoft KB Archive/97546

{|
 * width="100%"|

VC++ README.WRI Parts 9 and 10-C Run-Time Library, Misc.

 * }

Q97546

-

The information in this article applies to:


 * The C Run-Time (CRT), included with:
 * Microsoft Visual C++, 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.

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:


 * 1) Before using SuperVGA modes run the VESA1D.EXE driver, supplied in the MSVC\BIN\VIDEO directory.
 * 2) 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

Issue type :

Technology : kbVCsearch kbAudDeveloper kbCRT