Using cc and c89

The Interix Software Development Kit (SDK) provides cc, which is the standard compiler interface utility, and c89, which is the POSIX interface utility. Since they are implemented as the same utility, references to cc apply to c89, unless otherwise stated.

You can build a program with c89 just as you would cc, as shown in the following example:

c89 -o hello hello.c

Unlike cc, however, the order of operands is important to c89. Most options must come before positional operands. For example, you cannot type:

c89 io.o main.o -o program

Instead, you must type:

c89 -o program io.o main.o

This does not apply to -l library options, however, which are placed in their search order at the end of the command line:

c89 -o program io.o main.o -lmylibc -ltermcap

Both cc and c89 invoke the Microsoft Visual C++ utilities Cl.exe (for compiling) and Link.exe (for linking). They search your PATH for these programs.

If you want to see the command line being passed to Cl.exe, you can set the environment variable C89_ECHO. When this is set to 1, c89 echoes command lines before executing them.

This section covers: