vcc man page on Ultrix

Man page or keyword search:  
man Server   3690 pages
apropos Keyword Search (all sections)
Output format
Ultrix logo
[printable version]

vcc(1)									vcc(1)

Name
       vcc - VAX C compiler

Syntax
       vcc [option...] file...

Description
       The  command invokes the VAX C compiler for ULTRIX and accepts the fol‐
       lowing types of arguments:

       ·    Arguments whose names end with .c.	These arguments are treated as
	    C  source  programs. The source code is compiled and the resulting
	    object code is left in a file whose name is the same as the source
	    except  with  a  .o	 file extension.  If you choose to compile and
	    load a single program in one step, the command program deletes the
	    intermediate object code file.

       ·    Arguments whose names end with .s.	These arguments are treated as
	    assembly source programs and are passed to	the  assembler,	 which
	    creates an output file with a .o extension.

       ·    Arguments whose names end in something other than .c or .s.	 These
	    arguments are treated as either compiler or	 linker	 option	 argu‐
	    ments or C-compatible object programs that were produced during an
	    earlier compilation or were extracted from the libraries of C-com‐
	    patible routines.

Options
       The  VAX	 C  compiler for ULTRIX can produce two types of object files:
       the standard BSD .o format used by or an object format that can be read
       only  by	 The  object file format, and the linker used is controlled by
       the -V lkobject option. By default, the compiler produces standard  BSD
       .o format.

       The  following  options	are accepted by the command.  See or for load-
       time options.

       -b		   Does not pass the -lc  library  to  the  linker  by
			   default.

       -Bstring		   Finds substitute compiler, preprocessor, assembler,
			   and linker in the files named by string. If	string
			   is empty, uses a standard backup version.

       -c		   Suppresses the loading phase of the compilation and
			   forces an object file to be produced even  if  only
			   one program is compiled.

       -Dname=def
       -Dname		   Defines name to the preprocessor. This functions as
			   if an  additional  #define  preprocessor  directive
			   were embedded in the source code.  If no definition
			   is given, the name is defined as 1.

       -E		   Runs only the macro preprocessor  on	 the  named  C
			   programs  and sends the result to the standard out‐
			   put.

       -Em		   Runs only the macro preprocessor  on	 the  named  C
			   programs and produces the makefile dependencies.

       -f		   Uses	 single-precision rather than double-precision
			   floating point representation.  Procedure arguments
			   are	still  promoted	 to  double-precision floating
			   point format.  Programs with a large number of sin‐
			   gle-precision  computations	run  faster  with this
			   option. However, a slight  loss  in	precision  may
			   result since intermediate results are saved using a
			   single-precision  representation  rather  than  the
			   default double-precision representation.

       -g		   Generates  additional  symbol table information for
			   This also passes the -lg flag to the linker.

       -Idir		   Seeks #include files whose names do not begin  with
			   a directory specification in the following directo‐
			   ries: first, in the directory of the file argument;
			   second,   in	  directories  named  in  -I  options;
			   finally, in directories in a standard list.

       -lx		   Uses the specified library.	This option  lists  an
			   abbreviation	 for  the  library  name  where x is a
			   string.  If the library is not  found,  the	linker
			   tries  If  that  does not exist, the linker tries A
			   search for a library starts when the	 library  name
			   is encountered, so the placement of a -l within the
			   compilation or the linker command line is  signifi‐
			   cant.

       -Md		   Specifies  DFLOAT  (the  default)  double-precision
			   floating point type and passes the -lc flag to  the
			   linker.

       -Mg		   Specifies  GFLOAT  double  precision floating point
			   type and passes the -lcg flag to the linker.	  This
			   option  uses	 the  GFLOAT  version of libc.	If the
			   math library is used with code  compiled  with  the
			   -Mg	flag, the GFLOAT version is linked by specify‐
			   ing -lmg to the or the linker command.

       -o output	   Names the final output file output.	If this option
			   is  used,  the  file a.out is left undisturbed.  If
			   the named file has a .o or .a file  extension,  the
			   following  error  message  is  displayed:  -o would
			   overwrite.

       -O		   Invokes the object-code improver. This option is on
			   by default and has no effect.

       -p		   Produces  code that counts the number of times each
			   routine is called.	If  loading  takes  place,  it
			   replaces the standard startup routine with one that
			   initially calls and writes out a mon.out file  upon
			   normal  termination of program execution.  The com‐
			   mand is then used to generate an execution profile.

       -pg		   Produces counting code similar to that generated by
			   -p, but invokes a run-time recording mechanism that
			   keeps more  extensive  statistics  and  produces  a
			   gmon.out  file  upon	 normal termination.  In addi‐
			   tion, a profiling library is	 searched  instead  of
			   the	standard  C library.  The command is then used
			   to generate an execution profile.

       -t [p0al]	   Finds only the designated  preprocessor,  compiler,
			   assembler,  and linker in the files whose names are
			   constructed by a -B option.

       -Uname		   Removes any initial definition of name.

       -v file		   Produces a listing in file,	complete  with	cross-
			   reference and machine code listing sections.

       -V arg		   Compiles  the  source  code	using  vendor specific
			   options. The available  options  are	 described  in
			   detail in the Guide to VAX C for ULTRIX.

			   The following is a list of the available options:

			   cross_reference     Generates   a  cross  reference
					       listing section

			   debug	       Generates a loadable module for
					       use with dbx

			   define	       Assigns	a specified value to a
					       name

			   g_float	       Uses the G_floating point type

			   list		       Generates a list file

			   lkobject	       Generates object	 files	in  lk
					       format,	instead of BSD .o for‐
					       mat and uses the lk linker

			   machine_code	       Generates  the	machine	  code
					       listing section

			   object	       Generates an object file with a
					       specific name

			   optimize	       Selects code optimization

			   show		       Includes symbol and  intermedi‐
					       ate expansions

			   standard	       Selects portability mode

			   undefine	       Revokes	the  assignment	 of  a
					       value to a name

			   warnings	       Disables	 warning  or  informa‐
					       tional messages

       -w		   Suppresses warning diagnostics.

       -Y[option]	   Compiles a file for one of the following options:

			   SYSTEM_FIVE

			   BSD

			   POSIX

       If  no -Y option is specified, searches for the PROG_ENV variable to be
       defined. If PROG_ENV is set to SYSTEM_FIVE or POSIX, the effect is  the
       same  as	 -YSYSTEM_FIVE	or  -YPOSIX.  If PROG_ENV is not set to either
       SYSTEM_FIVE or POSIX, the effect is the same as -YBSD.

       If no option is specified with -Y, the default is -YSYSTEM_FIVE.	 If an
       option  other  than  SYSTEM_FIVE, BSD, or POSIX is specified, a warning
       message is printed and  -Y  is  ignored.	  If  there  are  multiple  -Y
       options, only the last one takes effect.

       If  -YSYSTEM_FIVE  is explicitly specified, the -YSYSTEM_FIVE parameter
       is added to the linker call.  In addition, the following occurs:

	    ·	 -DSYSTEM_FIVE is added to the command (or command  if	-E  is
		 specified).

	    ·	 The  linker  parameters -lc, -lcg, or -lc_p are preceded with
		 -lcV, -lcVg, or -lcV_p (if not suppressed by -b).

	    ·	 The linker parameters -lm, -lmg, or -lmp are changed to -lmV,
		 -lmVg, or -lmV_p (if present).

       If -YBSD is specified, then the parameter -YBSD is added to the call.

       If  -YPOSIX  is	specified,  then the parameter -DPOSIX is added to the
       call.  Also, the parameter -YPOSIX is added to the linker call.

       If -Y does not exist and PROG_ENV is not defined, the default is -YSYS‐
       TEM_FIVE.

Restrictions
       The compiler treats the register keyword as a suggestion; attaching the
       register keyword to a variable declaration does not guarantee that  the
       compiler will allocate the variable to a register.

       If  the	-Mg  flag is used to produce GFLOAT code, it must be used when
       compiling all of the modules to be linked.  Use the -Mg flag if you use
       the  command  to	 invoke the linker indirectly to link the modules.  If
       you invoke the linker directly, use the -lcg flag rather than -lc flag.
       If  the math library is used, specify the -lmg flag rather than the -lm
       flag in order to use the GFLOAT version.

       The compiler and the linker, cannot detect  the	use  of	 mixed	double
       floating	 point	types.	If you use them, your program's results may be
       erroneous.

       When calling a function that returns a structure, the VAX C for	ULTRIX
       (vcc)  compiler	and the compiler use incompatible calling conventions;
       this is the only case where the calling conventions  differ.   Specifi‐
       cally,  if  you	call a function that returns a structure from and that
       function was compiled with the call returns unpredictable results.   If
       you call a function that returns a structure from and that function was
       compiled with a segmentation fault occurs.

       When you use the quoted form of file inclusion, the compiler looks  for
       the included file in the directory the command is executed from, not in
       the directory that contains the source file.

Default Symbols And Macros
       The VAX C compiler recognizes the  following  predefined	 symbols.  The
       symbols	are  all assigned the value one (1). You can use these symbols
       to separate portable and nonportable code within your VAX C programs:

       vaxc	      VAXC
       vax11c	      VAX11
       vax	      VAX

       In addition to the VAX symbols definitions, listed  above,  the	VAX  C
       compiler for ULTRIX provides the following default symbols:

       unix	      Any UNIX system
       bsd4_2	      Berkeley UNIX Version 4.2
       ultrix	      ULTRIX only
       vax	      VAX processor only

       The VAX C compiler recognizes the following predefined macros:

       __DATE__	      Evaluates to a string, specifying the compilation date
       __FILE__	      Evaluates to a string, specifying the current source file
       __LINE__	      Evaluates to an integer, specifying the line containing the
		      macro reference.
       __TIME__	      Evaluates to a string, specifying the compilation time

Diagnostics
       The  diagnostics	 produced  by  VAX C are self-explanatory.  Occasional
       messages are produced by the assembler or loader.

Files
       input file

       object file

       loaded output

       command program

       preprocessor

       error message file

       compiler

       runtime startoff

       startoff for profiling

       startoff for gprof-profiling

       standard library

       GFLOAT			     version of the standard library

       profiling library

       standard directory for #include files

       manual page

       file produced for analysis by prof(1)

       file produced for analysis by gprof(1)

See Also
       adb(1), as(1), dbx(1), gprof(1) (unsupported), ld(1),  lk(1),  prof(1),
       monitor(3)
       Guide to VAX C for ULTRIX

				      VAX				vcc(1)
[top]

List of man pages available for Ultrix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net