Vault Compiler (vc)

The Vault compiler can be used to compile a Vault source file either to a compiled module (compile only) or to an executable (compile and link).

Usage

vc [flags] source-files

Environment Variables

Variable Meaning
VAULT The top-level directory of the Vault distribution, for example, c:\Vault

Flags (official)

Flag Meaning
-c compile only, no linking
-Gz use the _stdcall calling convention
-Gd use the _cdecl calling convention
-I directory append a directory to the interface load path
-nologo suppress the copyright message
-v type-check only, no compilation
-Zi produce debugging symbols
-A store absolute paths to object files
-help print out compiler usage information

Flags (unofficial)

Flag Meaning
-cfg for each function, produce a DOT file showing the function's control-flow graph

Discussion

When used in compile-only mode, the compiler produces a Compiled Vault Interface file (CVI file) for every interface in the source file and a Compiled Vault Object file (CVO file) for the source file as a whole. These files are always produced in the current working directory. If the source file contains errors, the compiler may produce only some of the CVI files and will not produce a CVO file.

 

When used in link mode, the compiler will produce CVI and CVO files, as above, and will also invoke the linker to link together the CVO files with the CVO files in the standard library directory ($VAULT\lib).