Visual C++ 1.1

From Computer History Wiki
(Redirected from Visual C 1.0)
Jump to: navigation, search


Visual C++ 1.1
Creator: Microsoft
Platform: Windows NT
Previous Version: Windows NT 3.1 SDK
Next Version: Visual C++ 2.0
Year Introduced: 1993


Visual C++ 1.1 was the first 32 bit release of Visual C++. The IDE was visually similar to the 16 bit versions of Visual C++, such as Visual C++ 1.5, but the compiler and toolchain where improved versions of the ones that shipped with the Windows NT 3.1 SDK. Applications compiled with this version using a CRT DLL required MSVCRT10.DLL, which is not common and not preinstalled on any OS release.

The original linker that shipped with this release was designed for NT 3.1 and is incompatible with NT 3.5 in that it will fail to truncate executables correctly, leaving them as multiples of 2Mb. A fix for this bug was posted to Microsoft's now defunct ftp site at ftp://ftp.microsoft.com/Softlib/MSLFILES/LNK100.EXE . Frustratingly, it indicates the same version number.

07/22/1993  01:16 AM           389,632 C13232.EXE
07/22/1993  01:16 AM           616,448 C1XX3232.EXE
07/19/1993  08:25 AM           482,816 C23232.EXE
07/20/1993  01:33 AM            87,552 CL.EXE
07/15/1993  08:17 AM            48,640 CL386.EXE
07/12/1993  05:47 AM           161,792 CVPACK.EXE
07/15/1993  08:54 AM           385,536 LINK.EXE
07/15/1993  08:17 AM            48,640 LINK32.EXE
07/15/1993  06:26 AM           128,512 NMAKE.EXE

cl

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.

                            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 (default)         /Gs[num] disable stack checking calls
/G5 optimize for Pentium                 /Gf enable string pooling
/Gd __cdecl calling convention           /Gy separate functions for linker
/Gr __fastcall calling convention        /Gh enable hook function call
/Gz __stdcall calling convention
                              -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-
  (press <return> to continue)
/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 prepare for debugging (CodeView)     /Zg generate function prototypes
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ
/Zd line number information              /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                 /F<num> set stack size
/ML link with LIBC.LIB                   /LD Create .DLL
  (press <return> to continue)
/MT link with LIBCMT.LIB                 /link [linker options and libraries]

link

Microsoft (R) 32-Bit Executable Linker Version 1.00
Copyright (C) Microsoft Corp 1992-93. All rights reserved.

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

   options:

      /ALIGN:#
      /BASE:{address|@filename,key}
      /COMMENT:comment
      /DEBUG[:{NONE|FULL}]
      /DEBUGTYPE:{CV|COFF|BOTH}
      /DEF:filename
      /DEFAULTLIB:library[,library]
      /DLL
      /ENTRY:symbol
      /EXPORT:symbol
      /FIXED
      /FORCE
      /IMPLIB:filename
      /INCLUDE:symbol
      /MAP[:filename]
      /NODEFAULTLIB[:library[,library...]]
      /NOENTRY
      /NOLOGO
      /OPT:{REF|NOREF}
      /ORDER:@filename
      /OUT:filename
      /RELEASE
      /SECTION:name,[E][R][W][S]
      /STACK:reserve[,commit]
      /STUB:filename
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]
      /VERBOSE
      /VERSION:#[.#]
      /WARN[:warninglevel]

nmake

Microsoft (R) Program Maintenance Utility   Version 1.40
Copyright (c) Microsoft Corp 1988-93. 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