Compiler Driver

Table of Contents Usage

vcc [-D name [ = value ] ] [-U name ] [-V <#ver>] [-d] [-o file_name] [-h] [-c] [-K] [-E] [-S] [-I directory] [-v] [-O] [-L] [-Vn] [-A<libpath>] [-Rn] [-wn] [-Wn] [infile]


Description

vcc reads a C source file and feeds it to the preprocessor, compiler, assembler and, if necessary, the filer. If no file arguments are given, vcc displays "help" details. Filenames that are not clearly specified are defined by the following rules: and have the “.bin” extension.

After assemblage, if the extension of the output file is ".app", it is an archive containing the file along with the file "main.e”. The "main.e" file is taken from the ($CYBIKO_SDK)\lib\cybiko directory.

If the directory ($CYBIKO_SDK)\inc\cybiko exists, adds it to the list of directories that are searched when the #include "..." and #include <...> directives are used.

Files from the infile list with an unidentified extension (if the output file has an ".app" extension) are added to the archive.


Options

   -D name [= value ]
Define the name as if the programmer wrote "#define" name value at the start of the first file. If "= value" is not given, a value of "1" will be used.


   -U name
Undefined the name as if "#undef" name were used. On non-Unix systems, "name" will be forced to upper-case.


   -d
Disassemble compiled program to stdout


   -o file_name
Specify output file name.


   -h
Display help.


   -c
Compile only


   -K
Keep temp files.


   -E
Keep post-pre-processor file.


   -S
Keep assembler files.


   -I directory
Path for include files for pre-processor.


   -v
Verbose.


   -O
Optimization.


   -L
link in library module (a.k.a. 'static linkage').


   -V <bytecode_version_num>
Compatibility with bytecode.dl of mentioned version. Number of version and list of changes you can find here.


   -A<libpath>
Specify library search path


   -Rn
Specify root.inf lookup/generation mode:
0 - neither generate nor check for presence
1 - check but do not generate (default)
2 - generate automatically
3 - generate automatically for the Cybiko Xtreme


   -n
generate 'native' code (that is, CPU opcodes instead of bytecodes for the virtual machine); programs generated with this switch will run much faster, though will be considerably bigger than their 'bytecode' counterparts; please note that the main() function will always compile into bytecode, disregarding the '-n' switch (Professional Edition only).


   -g<mode>
Enable debug info:

0 - no debug info
1 - line number info only
2 - full debug info


   -G<fname>
Specify debug info database filename

   -W(n)
Set warning level (default n=1)


   -w(n)
Issue no more than n warnings (default n=8)

Known problems

There are problems connected with all stages of code generation (see vcpp, vcc1, vcp1, vas, filer), because this unit is only the shell.