2.11 Efficiently Allocate Variables and Functions

Generate and use the variables/functions information header file to efficiently allocate variables and functions. A variables/functions information header file (header file used to efficiently assign the saddr area and callt area based on the number of times and order in which the variables and functions are referenced) is generated by setting the [Output variables/functions information header file] property from the [Link Options] tab on the Property panel. Variables will be allocated to the saddr area, and functions to the callt area by performing compilation using that file.

The procedures for performing this operation are described below.

 

Make sure to confirm that build has completed successfully and a load module file has been generated before using this function.

(1)

Generating a variables/functions information header file automatically and allocating variables and functions

Below is the procedure for generating a variables/functions information header file automatically and using that file to allocate variables and functions, via one build.

(a)

Set the generation of the variables/functions information header file

Select the build tool node on the project tree and select the [Link Options] tab on the Property panel.

Set the [Output variables/functions information header file] property to [Yes] to generate an empty variables/functions information header file, and add it to the project (it will also appear in the File node of the project tree). The output destination is the file set in the [Output folder for variables/functions information header file] property and the [Variables/functions information header file name] property.

Figure 2.71

[Output variables/functions information header file] Property

 

The settings of the output folder and file of the variables/functions information header file are can be changed.

<1>

Set the output folder

Setting the output folder is made with the [Output folder for variables/functions information header file] property by directly entering to the text box or by the [...] button.

Up to 247 characters can be specified in the text box.

This property supports the following placeholders.

 

%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.

 

"%BuildModeName%" is set by default.

If this property is changed, an empty variables/functions information header file is generated and added to the project (it will also appear in the File node of the project tree).

<2>

Set the output file name

Setting the output file is made with the [Variables/functions information header file name] property by directly entering to the text box.

Up to 259 characters can be specified in the text box.

This property supports the following placeholders.

 

%ActiveProjectName%: Replaces with the active project name.

%MainProjectName%: Replaces with the main project name.

%ProjectName%: Replaces with the project name.

"%ProjectName%_vfi.h" is set by default.

 

If this property is changed, an empty variables/functions information header file is generated and added to the project (it will also appear in the File node of the project tree).

(b)

Run a build of the project

Run a build of the project.

A variables/functions information header file is generated. It will be included in the C source automatically and a rebuild will be executed again.

Remark

The variables/functions information header file in "(a) Set the generation of the variables/functions information header file" is overwritten by running a build.

 

If the build completes successfully, a load module file is generated with the variables and functions allocated.

(2)

Editing and using an auto-generated variables/functions information header file

Users can edit a variables/functions information header file.

Below is the procedure for editing the generated variables/functions information header file in "(1) Generating a variables/functions information header file automatically and allocating variables and functions" by the user and using that file to allocate variables and functions.

(a)

Edit the variables/functions information header file

Edit the variables/functions information header file generated automatically in "(1) Generating a variables/functions information header file automatically and allocating variables and functions".

Remark

See "CC-RL Compiler Users Manual" for details about the format of the auto-generated variables/functions information header file.

(b)

Set the generation of the variables/functions information header file

Select the build tool node on the project tree and select the [Link Options] tab on the Property panel.

Select [No] on the [Output variables/functions information header file] property.

Figure 2.72

[Output variables/functions information header file] Property

 

Next, select the [Compile Options] tab.

Specify the edited variables/functions information header file on the [Include files at head of compiling units] property.

Figure 2.73

[Include files at head of compiling units] Property

 

(c)

Run a build of the project

Run a build of the project.

A load module file is generated with the variables and functions allocated as specified in the variables/functions information header file.