Everything
 

[Standard Library Generate Options] tab


This tab shows the detailed information on the library generate phase to generate standard library categorized by the following and the configuration can be changed.

 

(1)[Standard Library]

(2)[Optimization]

(3)[Optimization(Details)]

(4)[Output Code]

(5)[Others]

Caution

This tab is displayed in the following cases

-

When the project is other than library project.

-

When [Always latest version which was installed] or V1.13.00 or a later version for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.13.00 or a later version of the CC-RL compiler has been installed

[Description of each category]

(1)

[Standard Library]

The detailed information on standard library are displayed and the configuration can be changed.

Generate C standard library with Library Generator

Select whether to generate C standard library with Library Generator.

Default

-

When the project is created as other than the [C++ Application(CC-RL)]

Yes(Only when options have been changed)

-

When the project is created as [C++ Application(CC-RL)]

No

How to change

Select from the drop-down list.

Restriction

Yes(Every time generate)

Generates C standard library with Library Generator at every time of building

Yes(Only when options have been changed)

Generates C standard library with Library Generator only when build after options have been changed

No

Does not generates C standard library with Library Generator

Output folder

Specify path of the output folder.

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

If a relative path is specified, the reference point of the path is the project folder.

This property corresponds to the -output option of the lbgrl command.
This property is displayed only when other than [No] in the [Generate C standard library with Library Generator] property is selected.

Default

%BuildModeName%

How to change

Directly enter in the text box or edit by the Browse For Folder dialog box which appears when clicking the [...] button.

Restriction

Up to 247 characters

Output file name

Specify the output file name.
The following placeholders are supported.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%MainProjectName%: Replaces with the main project name.

%ProjectName%: Replaces with the project name.

This property corresponds to the -output option of the lbgrl command.

This property is displayed only when other than [No] in the [Generate C standard library with Library Generator] property is selected.

Default

%ProjectName%.lib

How to change

Directly enter to the text box.

Restriction

Up to 259 characters

Library configuration

Select the library configuration

This property corresponds to the -lang option of the lbgrl command.

This property is displayed only when other than [No] in the [Generate C standard library with Library Generator] property is selected.

Default

Apply compiler option setting

How to change

Select from the drop-down list.

Restriction

Apply compiler option setting

Applies the value of [Language of the C source file] property in the [Compile Options] tab.

C90(No option specified)

The C standard library is configured only with functions that are compliant with C90.

C90 and C99(-lang=c99)

The C standard library is configured with functions that are compliant with C90 and C99.

Check memory smashing on releasing memory

Select whether to check memory smashing on releasing the memory.

This property is usable only in the Professional Edition.

The user-defined __heap_chk_fail() function is called if an illegal address has been specified or an address outside the allocated memory area has been written to when the memory that was dynamically allocated by malloc or another function is released or re-allocated by this function. See "CC-RL Compiler User's Manual" for details.

This property corresponds to the -secure_malloc option of the lbgrl command.

This property is displayed only when other than [No] in the [Generate C standard library with Library Generator] property is selected.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-secure_malloc)

Checks memory smashing on releasing the memory.

No

Does not check memory smashing on releasing the memory.

Library to be built

Select the library to be built.

This property corresponds to the -head option of the lbgrl command.

This property is displayed only when other than [No] in the [Generate C standard library with Library Generator] property is selected.

Default

All(-head=all)

How to change

Select from the drop-down list.

Restriction

All(-head=all)

Specifies all library functions and runtime library.

Custom(-head=<SubOption>)

Specifies a configuration library.

runtime: Runtime routines

Select whether to enable runtime routines.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

Yes (-head=runtime)

How to change

Changes not allowed

Restriction

Yes (-head=runtime)

Enables the runtime routines.

ctype.h: Functions used for character classification

Select whether to enable ctype.h: functions used for character classification.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=ctype)

Enables functions used for character classification.

No

Disables functions used for character classification.

math.h: Double-precision floating-point math functions

Select whether to enable math.h: double-precision floating-point math functions.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=math)

Enables double-precision floating-point math functions.

No

Disables double-precision floating-point math functions.

mathf.h: Single-precision floating-point math functions

Select whether to enable mathf.h: single-precision floating-point math functions.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=mathf)

Enables single-precision floating-point math functions.

No

Disables single-precision floating-point math functions.

stdio.h: Stream input/output functions

Select whether to enable stdio.h: stream input/output functions.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=stdio)

Enables stream input/output functions.

No

Disables stream input/output functions.

stdlib.h: General utility functions

Select whether to enable stdlib.h: general utility functions.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=stdlib)

Enables general utility functions.

No

Disables general utility functions.

string.h: String operation functions

Select whether to enable string.h: string operation functions.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=string)

Enables string operation functions.

No

Disables string operation functions.

inttypes.h: C99 integer type format operation functions

Select whether to enable inttypes.h: C99 integer type format operation functions.

This property corresponds to the -head option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property is selected

-

When [Custom(-head=<SubOption>)] in the [Library to be built] property is selected

-

Any one of the conditions below

- When [C90 and C99(-lang=c99)] in the [Library configuration] property is selected

- When [Apply compiler option setting] in the [Library configuration] property is selected and [C99(-lang=c99)] in the [Standard of C language] property in the [Compile Options] tab is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes (-head=inttypes)

Enables C99 integer type format operation functions.

No

Disables C99 integer type format operation functions.

(2)

[Optimization]

The detailed information on the optimization is displayed and the configuration can be changed.

This category is displayed when other than [No] in the [Generate C standard library with Library Generator] property in the [Standard Library] category is selected.

Apply optimization option settings of compiler

Select whether to apply optimization option settings in the [Compile Options] tab.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes

Applies optimization option settings in the [Compile Options] tab.

No

Does not apply optimization option settings in the [Compile Options] tab.

Level of optimization

Select the level of the optimization.

This property corresponds to the -optimize option of the lbgrl command.

This property is displayed only when [No] in the [Apply optimization option settings of compiler] property is selected.

Default

Perform the default optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

Perform the default optimization(No option specified)

Performs optimization that is effective for both the object size and execution speed.

Code size precedence(-Osize)

Performs optimization with the object size precedence.

Regards reducing the ROM/RAM usage as important and performs the maximum optimization that is effective for general programs.

Speed precedence(-Ospeed)

Performs optimization with the execution speed precedence.

Regards shortening the execution speed as important and performs the maximum optimization that is effective for general programs.

Partial optimization(-Olite)

Performs partial optimization that will not strongly affect the debug functions.

Debug precedence(-Onothing)

Performs optimization with the debug precedence.

Regards debugging as important and suppresses all optimization including default optimization.

(3)

[Optimization(Details)]

The detailed information on the optimization is displayed and the configuration can be changed.

This category is displayed in following cases.

-

When other than [No] in the [Generate C standard library with Library Generator] property in the [Standard Library] category is selected

-

When [No] in the [Apply optimization option settings of compiler] property is selected

Maximum number of loop expansions

Specify the maximum number of times to expand the loops such as "for" and "while".

If 0 or 1 is specified, expansion is suppressed.

If this is blank, the -Ounroll option is not added to the command line. In this case, a value in accordance with the selection of the [Level of optimization] property is used by the compiler.

This property corresponds to the -Ounroll option of the lbgrl command.

This property is displayed only when [Perform the default optimization(No option specified)], [Code size precedence(-Osize)] or [Speed precedence(-Ospeed)] in the [Level of optimization] property is selected.

Default

Blank

How to change

Directly enter in the text box.

Restriction

0 to 999 (decimal number) or blank

Remove unused static functions

Select whether to remove the static functions which are not called.

This property corresponds to the -Odelete_static_func option of the lbgrl command.

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(-Odelete_static_func)

Removes the unused static functions which are not called.

No(-Odelete_static_func=off)

Does not remove the unused static functions which are not called.

Perform inline expansion

Specify whether to perform inline expansion at the location calling functions.

This property corresponds to the -Oinline_level option of the lbgrl command.

This property is displayed only when [Perform the default optimization(No option specified)], [Code size precedence(-Osize)], [Speed precedence(-Ospeed)] or [Partial optimization(-Olite)] in the [Level of optimization] property is selected.

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(Only specified functions)(-Oinline_level=1)

Performs inline expansion at the location calling the function for which #pragma inline is specified.

Yes(Auto-detect, to specify maximum increasing rate)(-Oinline_level=2 -Oinline_size)

Distinguishes the function that is the target of inline expansion automatically and expands it. Specify the maximum rate of increase.

Yes(Auto-detect, maximum increasing rate : to adjust the level of optimization)(-Oinline_level=2)

Distinguishes the function that is the target of inline expansion automatically and expands it. The compiler takes a value that suits the optimization level as the maximum rate of increase.

Yes(Auto-detect without code size increase)(-Oinline_level=3)

Distinguishes the function that is the target of inline expansion automatically and expands it, while minimizing the increase in code size.

No(-Oinline_level=0)

Suppresses all inline expansion including the function for which "#pragma inline" is specified.

Maximum increasing rate of inline expansion size

Specify the maximum increasing rate (%) of the code size up to which inline expansion is performed. (Example: When "100" is specified, inline expansion will be applied until the code size increases by 100% (becomes twice the initial size).)

This property corresponds to the -Oinline_size option of the lbgrl command.

This property is displayed when [Yes(Auto-detect, to specify maximum increasing rate)(-Oinline_level=2 -Oinline_size)] in the [Perform inline expansion] property is selected, or when [To adjust the level of optimization(No option specified)] in the [Perform inline expansion] property and [Speed precedence(-Ospeed)] in the [Level of optimization] property are selected.

Default

100

How to change

Directly enter in the text box.

Restriction

0 to 65535 (decimal number)

Perform pipeline optimization

Select whether to improve the program's execution performance by reordering instructions at the machine-language level.

This property corresponds to the -Opipeline option of the lbgrl command.

This property is displayed only when other than [Debug precedence(-Onothing)], [Partial optimization(-Olite)] in the [Level of optimization] property is selected.

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(-Opipeline)

Performs pipeline optimization.

No(-Opipeline=off)

Does not perform pipeline optimization.

Use br instruction to call a function at the end of the function

Select whether to give precedence to using br instructions in the place of call instructions when the function ends with a function call.

This property corresponds to the -Otail_call option of the lbgrl command.

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(-Otail_call)

Gives precedence to using br instructions in the place of call instructions when the function ends with a function call.

The code size can be reduced by removing the ret instruction.

No(-Otail_call=off)

Uses call instructions when the function ends with a function call.

Perform optimization considering type of data indicated by pointer

Select whether to perform optimization with consideration for the type of the data indicated by the pointer, based on the ANSI standard.

This property corresponds to the -Oalias option of the lbgrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-Oalias=ansi)

Performs optimization with consideration for the type of the data indicated by the pointer.

In general, this option improves the object performance, but the execution result may differ from the case when [No] is selected.

No

Does not perform optimization with consideration for the type of the data indicated by the pointer.

Create subroutine for same instruction sequence

Select whether to create a subroutine for the same instruction sequence.

This property corresponds to the -Osame_code option of the lbgrl command.

This property is displayed only when [Perform the default optimization(No option specified)], [Code size precedence(-Osize)] or [Speed precedence(-Ospeed)] in the [Level of optimization] property is selected.

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(-Osame_code)

Creates a subroutine for the same instruction sequence.

No(-Osame_code=off)

Does not create a subroutine for the same instruction sequence.

Reduce code size of relative branch instructions

Select whether to reduce the code size of the relative branch instructions.

This property corresponds to the -Obranch_chaining option of the lbgrl command.

This property is displayed only when [Perform the default optimization(No option specified)] or [Code size precedence(-Osize)] in the [Level of optimization] property is selected

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(-Obranch_chaining)

Reduces the code size of the relative branch instructions..

No(-Obranch_chaining=off)

Does not reduce the code size of the relative branch instructions.

Perform optimization by changing alignment conditions

Select whether to proceed with optimization through a change of the alignment conditions.

This property corresponds to the -Oalign option of the lbgrl command.

This property is displayed in the following cases.

-

When other than [Debug precedence(-Onothing)], [Partial optimization(-Olite)] in the [Level of optimization] property is selected

-

When [No] in the [Allocate uninitialized variables in sections according to number of alignments] property is selected

-

When [No] in the [Allocate initialized variables in sections according to number of alignments] property is selected

-

When [No] in the [Allocate const qualified variables in sections according to number of alignments] property is selected

Default

To adjust the level of optimization(No option specified)

How to change

Select from the drop-down list.

Restriction

To adjust the level of optimization(No option specified)

Performs optimization according to the [Level of optimization] property.

Yes(-Oalign)

Performs optimization through a change of the alignment conditions.

No(-Oalign=off)

Does not perform optimization through a change of the alignment conditions.

Outputs additional information for inter-module optimization

Select whether to output additional information for inter-module optimization.

At linkage, inter-module optimization is applied to files for which this option has been specified.

This property corresponds to the -goptimize option of the lbgrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-goptimize)

Outputs additional information for inter-module optimization.

No

Does not outputs additional information for inter-module optimization.

(4)

[Output Code]

The detailed information on output code is displayed and the configuration can be changed.

This category is displayed when other than [No] in the [Generate C standard library with Library Generator] property in the [Standard Library] category is selected.

Apply output-code option settings of compiler

Select whether to apply output-code option settings in the [Compile Options] tab.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes

Applies the output-code option settings in the [Compile Options] tab.

No

Does not apply the output-code option settings in the [Compile Options] tab.

Allocate uninitialized variables in sections according to number of alignments

Select whether to allocate the uninitialized variables to sections in accord with their alignment sizes.

This property corresponds to the -stuff option of the lbgrl command.
This property is displayed only when [No] in the [Apply output-code option settings of compiler] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-stuff=bss)

Allocates the uninitialized variables to sections in accord with their alignment sizes.

No

Does not allocate the uninitialized variables to sections in accord with their alignment sizes.

Allocate initialized variables in sections according to number of alignments

Select whether to allocate the initialized variables to sections in accord with their alignment sizes.

This property corresponds to the -stuff option of the lbgrl command.
This property is displayed only when [No] in the [Apply output-code option settings of compiler] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-stuff=data)

Allocates the initialized variables to sections in accord with their alignment sizes.

No

Does not allocate the initialized variables to sections in accord with their alignment sizes.

Allocate const qualified variables in sections according to number of alignments

Select whether to allocate the const qualified variables to sections in accord with their alignment sizes.

This property corresponds to the -stuff option of the lbgrl command.
This property is displayed only when [No] in the [Apply output-code option settings of compiler] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-stuff=const)

Allocates the const qualified variables to sections in accord with their alignment sizes.

No

Does not allocate the const qualified variables to sections in accord with their alignment sizes.

(5) [Others]

Other detailed information on library generators are displayed and the configuration can be changed.

This category is displayed when other than [No] in the [Generate C standard library with Library Generator] property in the [Standard Library] category is selected.

Display copyright information

Select whether to display copyright information.

This property corresponds to the -nologo option of the lbgrl command.

Default

No (-nologo)

How to change

Select from the drop-down list.

Restriction

Yes

Outputs the copyright.

No (-nologo)

Disables output of the copyright.

Commands executed before library generate processing

Specify the command to be executed before library generate processing.

Use the call instruction to specify a batch file (example: call a.bat).

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%LibraryFile%: Replaces with the absolute path of the output file under the library generate processing.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%OutputDir%: Replaces with the absolute path of the output folder.

%OutputFile%: Replaces with the absolute path of the output file.

%Program%: Replaces with the file name of the running program.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

When "#!python" is described in the first line, the contents from the second line to the last line are regarded as the script of the Python console, and then executed before library generator processing.

The placeholders can be described in the script.

The specified command is displayed as the subproperty.

Default

Commands executed before library generate processing[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can use the text box directly enter the text.

Restriction

Up to 1023 characters

Up to 64 items can be specified.

Commands executed after library generate processing

Specify the command to be executed after library generate processing.

Use the call instruction to specify a batch file (example: call a.bat).

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%LibraryFile%: Replaces with the absolute path of the output file under the library generator processing.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%OutputDir%: Replaces with the absolute path of the output folder.

%OutputFile%: Replaces with the absolute path of the output file.

%Program%: Replaces with the file name of the running program.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

When "#!python" is described in the first line, the contents from the second line to the last line are regarded as the script of the Python console, and then executed after library generator processing.

The placeholders can be described in the script.

The specified command is displayed as the subproperty.

Default

Commands executed after library generate processing[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can use the text box directly enter the text.

Restriction

Up to 1023 characters

Up to 64 items can be specified.

Other additional options

Input the library generate options to be added additionally.

The options set here are added at the end of the library generate options group.

Default

Blank

How to change

Directly enter to the text box or edit by the Character String Input dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters