C++ Compiler Advanced
Go Up to C++ Compiler Project Options
Project > Options > C++ Compiler > Advanced
Use this dialog box to set C++ Compiler Advanced Compilation options.
Options | Description |
---|---|
Target, Apply, Save |
See Target Options. |
Common items |
Contents
Assembler Options
Assembler Options | Description | Compiler support | ||||
---|---|---|---|---|---|---|
bcc32 | bcc64 | bccosx | bcciosarm | bccaarm | ||
Assembler options |
Enter any additional assembler options (such as |
![]() |
||||
Compile to .ASM, then assemble to .OBJ |
Causes the compiler to first generate an .ASM file from your C++ (or C) source code. The compiler then calls TASM32 (or the assembler specified in Specify which assembler to use) to create an .OBJ file from the .ASM file. The .ASM file is then deleted. Your program will fail to compile with the -B option if your C or C++ source code declares static global variables that are keywords in assembly. This is because the compiler does not precede static global variables with an underscore (as it does with other variables), and the assembly keywords will generate errors when the code is assembled. The default is False. |
![]() |
||||
Specify which assembler to use |
Assemble instructions using the specified filename as the assembler. The 32-bit Windows compiler uses TASM32 as the default assembler. The |
![]() |
Floating Point Options
Other Options
Other Options | Description | Compiler support | ||||
---|---|---|---|---|---|---|
bcc32 | bcc64 | bccosx | bcciosarm | bccaarm | ||
Additional options to pass to the compiler |
Enter any additional compiler options that you want to add for the current project. |
![]() |
![]() |
![]() |
![]() |
![]() |
Code page |
Sets the default text character set that is used in the ANSI source code if the source code does not contain a BOM (byte order mark). Enables support for user-defined code pages. Its primary use is to tell the compiler how to parse and convert multibyte character strings (MBCS). In the entry field, you can specify either:
For example, if you specify either 65001 or UTF8 for the -CP option, the compiler supports UTF8 encoding for source code without BOM. There are two distinct areas where code pages come into effect:
The default is to not use a code page. |
![]() |
![]() |
|||
Execution Character Set |
Sets the Execution Character Set, which is used for ANSI strings in the executable file. The Execution Character Set option is designed for use with multi-device applications. If you compile an application with "932" as Execution Character Set, all string-literals are compiled as "932" (Japanese SJIS) encoding regardless of whether the compile-time environment is "932". Wide-string literals (for example L"Test") are not affected by this option. In some instances, the value of the Code page option is used for the Execution Character Set option. The following matrix represents the relationship between the Code page and Execution Character Set options: |
![]() |
![]() |
|||
Minimum contiguous memory allocation block size |
Specifies the minimum size used for contiguous memory allocation. The default is (no =nMB), which means to use the largest possible chunk. For example, you might want to set this option for compiling large projects that do not use PCH or for very large (perhaps machine generated) source files, ones that have many included source leading to many declarations per file. |
![]() |
![]() |
|||
Unsigned char type |
The compiler treats char declarations as if they were of unsigned char type, which provides compatibility with other compilers. |
![]() |
![]() |