Visual C++ 4.0

From Computer History Wiki
Jump to: navigation, search


Visual C++ 4.0
Creator: Microsoft
Platform: Windows NT 3.51+, Windows 95
Previous Version: Visual C++ 2.0
Next Version: Visual C++ 5.0
Date Released: 1995


Visual C++ 4.0 was the first release designed for Windows 95, including a Windows 95 style IDE. Visual C++ 4.0 was followed by 4.1 and 4.2. These added support for various internet technologies as Microsoft entered the browser wars. Applications compiled with this version using a CRT DLL required MSVCRT40.DLL. Because Visual C++ 4.0 arrived slightly after Windows 95, the first release of Windows 95 did not include this DLL.

09/29/1995  10:44 PM           377,856 C1.EXE
09/29/1995  10:45 PM           775,680 C1XX.EXE
09/29/1995  10:45 PM           567,296 C2.EXE
09/29/1995  10:45 PM            37,376 CL.EXE
09/29/1995  10:45 PM           501,248 LINK.EXE
09/29/1995  10:49 PM            61,952 NMAKE.EXE

cl

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 10.00.5270 for 80x86
Copyright (C) Microsoft Corp 1984-1995. All rights reserved.

                          C/C++ COMPILER OPTIONS

                              -OPTIMIZATION-
/O1 minimize space                       /Op[-] improve floating-pt consistency
/O2 maximize speed                       /Os favor code space
/Oa assume no aliasing                   /Ot favor code speed
/Ob<n> inline expansion (default n=0)    /Ow assume cross-function aliasing
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)
/Og enable global optimization           /Oy[-] enable frame pointer omission
/Oi enable intrinsic functions
                             -CODE GENERATION-
/G3 optimize for 80386                   /Ge enable stack checking calls
/G4 optimize for 80486                   /Gs[num] disable stack checking calls
/G5 optimize for Pentium                 /Gh enable hook function call
/GB optimize for blended model (default) /GR[-] enable C++ RTTI
/Gd __cdecl calling convention           /GX[-] enable C++ EH
/Gr __fastcall calling convention        /Gi[-] enable incremental compilation
/Gz __stdcall calling convention         /Gm[-] enable minimal rebuild
/Gf enable string pooling                /Gy separate functions for linker
/GF enable read-only string pooling
                              -OUTPUT FILES-
/Fa[file] name assembly listing file     /Fo<file> name object file
/FA[sc] configure assembly listing       /Fp<file> name precompiled header file
/Fd[file] name .PDB file                 /Fr[file] name source browser file
/Fe<file> name executable file           /FR[file] name extended .SBR file
/Fm[file] name map file
                              -PREPROCESSOR-
/C don't strip comments                  /FI<file> name forced include file
/D<name>{=|#}<text> define macro         /U<name> remove predefined macro
/E preprocess to stdout                  /u remove all predefined macros
/EP preprocess to stdout, no #line       /I<dir> add to include search path
/P preprocess to file                    /X ignore "standard places"
                                -LANGUAGE-
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)
/vm<x> type of pointers to members       /Ze enable extensions (default)
/Zi generate debugging information       /Zg generate function prototypes
/Z7 generate old-style debug info        /Zl omit default library name in .OBJ
/Zd line number debugging info only      /Zs syntax check only
/Zp[n] pack structs on n-byte boundary
                              -MISCELLANEOUS-
/?, /help print this help message        /w disable all warnings
/c compile only, no link                 /W<n> set warning level (default n=1)
/H<num> max external name length         /WX treat warnings as errors
/J default char type is unsigned         /Yc[file] create .PCH file
/nologo suppress copyright message       /Yd put debug info in every .OBJ
/Tc<source file> compile file as .c      /Yu[file] use .PCH file
/Tp<source file> compile file as .cpp    /YX[file] automatic .PCH
/V<string> set version string            /Zn turn off SBRPACK for .SBR files
                                 -LINKING-
/MD link with MSVCRT.LIB                 /MTd link with LIBCMTD.LIB debug library
/MDd link with MSVCRTD.LIB debug library /F<num> set stack size
/ML link with LIBC.LIB                   /LD Create .DLL
/MLd link with LIBCD.LIB debug library   /LDd Create .DLL debug libary
/MT link with LIBCMT.LIB                 /link [linker options and libraries]

link

Microsoft (R) 32-Bit Incremental Linker Version 3.00.5270
Copyright (C) Microsoft Corp 1992-1995. All rights reserved.

usage: LINK [options] [files] [@commandfile]

   options:

      /ALIGN:#
      /BASE:{address|@filename,key}
      /COMMENT:comment
      /DEBUG
      /DEBUGTYPE:{CV|COFF|BOTH}
      /DEF:filename
      /DEFAULTLIB:library
      /DLL
      /DRIVER[:UPONLY]
      /ENTRY:symbol
      /EXETYPE:DYNAMIC
      /EXPORT:symbol
      /FIXED
      /FORCE[:{MULTIPLE|UNRESOLVED}]
      /GPSIZE:#
      /HEAP:reserve[,commit]
      /IMPORT:[symbol][,][LIB=container][,WEAK=1]
      /IMPORT:[CURRENTVER=#][,][OLDCODEVER=#][,][OLDAPIVER=#]
      /IMPLIB:filename
      /INCLUDE:symbol
      /INCREMENTAL:{YES|NO}
      /MAC:{BUNDLE|NOBUNDLE|TYPE=xxxx|CREATOR=xxxx|INIT=symbol|TERM=symbol}
      /MAC:{MFILEPAD|NOMFILEPAD}
      /MACDATA:filename
      /MACHINE:{IX86|MIPS|ALPHA|PPC|M68K|MPPC}
      /MACRES:filename
      /MAP[:filename]
      /MERGE:from=to
      /NODEFAULTLIB[:library]
      /NOENTRY
      /NOLOGO
      /OPT:{REF|NOREF}
      /ORDER:@filename
      /OUT:filename
      /PDB:{filename|NONE}
      /PROFILE
      /RELEASE
      /SECTION:name,[E][R][W][S][D][K][L][P][X]
      /SHARED
      /STACK:reserve[,commit]
      /STUB:filename
      /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|POSIX}[,#[.##]]
      /VERBOSE[:LIB]
      /VERSION:#[.#]
      /VXD
      /WARN[:warninglevel]

nmake

Microsoft (R) Program Maintenance Utility   Version 1.60.5270
Copyright (c) Microsoft Corp 1988-1995. All rights reserved.

Usage:  NMAKE @commandfile
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]

Options:

/A Build all evaluated targets         /B Build if time stamps are equal
/C Suppress output messages            /D Display build information
/E Override env-var macros             /HELP Display brief usage message
/I Ignore exit codes from commands     /K Build unrelated targets on error
/N Display commands but do not execute /NOLOGO Suppress copyright message
/P Display NMAKE information           /Q Check time stamps but do not build
/R Ignore predefined rules/macros      /S Suppress executed-commands display
/T Change time stamps but do not build
/? Display brief usage message