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).
vc [flags] source-files
| Variable | Meaning |
|---|---|
| VAULT | The top-level directory of the Vault distribution, for example, c:\Vault |
| 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 |
| Flag | Meaning |
|---|---|
| -cfg | for each function, produce a DOT file showing the function's control-flow graph |
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).