About Microprocessor Compilers

You can use Windows CE .NET compiler drivers to compile specified source files into an object file. You can also compile and link specified source files, object files, and libraries into an executable file or a dynamic-link library (DLL). The compilers produce Common Object File Format (COFF) object files. The linkers produce executable files or dynamic-link libraries (DLLs).

The compiler programs compile each source file and, unless otherwise specified, create an object file for each compile. The compilers automatically include the options listed at the command line (CL), in the CL environment variable, and any specified response files.

The compiler-driver programs automatically invoke the linker after compiling, unless you specify otherwise. The compiler provides the names of the object files and libraries to the linker. The linker uses options listed in the LINK environment variable together with any linker options provided on the command line. If conflicts occur, options from the command line override those in the LINK environment variable.

The following table shows some special features of the compilers.

Compiler feature Description
Fast compile by default If you do not specify any optimization options, the compiler disables the optimization option. This feature allows you to quickly compile code that is under development and to reserve use of the optimizing compiler until needed.
Object file creation without linking You can use the /c - Compile Without Linking to create only an object file. The option stops the compiler before it invokes LINK.
Precompiled headers The command line option /Yc - Create Precompiled Header generates precompiled header options to speed compilation.

In addition, the CLMIPS compiler optimizes for size by default.

If you use the /fastcap option when compiling for the SH4 processor, then the compiler will add a call to fastcap for every function call in every inline assembly statement, _asm call, that you have in your code. This causes the compiler to terminate with the message Unresolved external symbol _asm. This can only be avoided by moving the inline assembly code into a separate module and recompiling the module without fastcap.

If you are using the _CAP_Start_Profiling and _CAP_End_Profiling functions you must turn off the incremental linker which is set by default. This applies only to x86 platforms and does not affect complier-instrumented profiling.

See Also

About Supported Microprocessors | About Intrinsic Functions | Supported Compilers | Compiler Setup Mechanisms | Compiler Options | File Name Extensions and Compiler Processing | Compiler-generated Decorated Function Names

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.