21.07.2013 Views

FR-V/FR FAMILY SOFTUNE C/C++ ANALYZER MANUAL - Fujitsu

FR-V/FR FAMILY SOFTUNE C/C++ ANALYZER MANUAL - Fujitsu

FR-V/FR FAMILY SOFTUNE C/C++ ANALYZER MANUAL - Fujitsu

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FUJITSU SEMICONDUCTOR<br />

CONTROLLER <strong>MANUAL</strong><br />

CM81-00309-4E<br />

<strong>FR</strong>-V/<strong>FR</strong> <strong>FAMILY</strong><br />

<strong>SOFTUNE</strong> C/<strong>C++</strong> <strong>ANALYZER</strong> <strong>MANUAL</strong><br />

for V5


<strong>FR</strong>-V/<strong>FR</strong> <strong>FAMILY</strong><br />

<strong>SOFTUNE</strong> C/<strong>C++</strong> <strong>ANALYZER</strong> <strong>MANUAL</strong><br />

FUJITSU LIMITED<br />

for V5


PREFACE<br />

■ Purpose and Intended Reader<br />

The Softune C/<strong>C++</strong> Language Analyzer (simply called the "C/<strong>C++</strong> Analyzer" in this manual) is a<br />

development support tool for embedded microcontrollers. The C/<strong>C++</strong> Analyzer displays and<br />

prints the structure of a source program written in the C/<strong>C++</strong> language and the status of data<br />

being used by the program.<br />

The C Analyzer runs Windows XP, Windows Me, Windows 2000, Windows 98 and<br />

Windows NT 4.0.<br />

This manual explains the functions of the C/<strong>C++</strong> Analyzer and how to use it.<br />

This manual is intended for persons using the C/<strong>C++</strong> Analyzer to analyze the source programs<br />

written in the C/<strong>C++</strong> language.<br />

The C/<strong>C++</strong> Analyzer can only analyze C-language programs that conform to the American<br />

National Standard for Information System Programming Language C, X3. 159-1989 (called the<br />

"ANSI standard" in this manual). Those C-language programs partially meet ISO/IEC 14882:<br />

1998.<br />

Readers of this manual must be familiar with the basic operation of Windows XP, Windows Me,<br />

Windows 2000, Windows 98 or Windows NT 4.0 and must have basic knowledge of the C<br />

language specification.<br />

For the C/<strong>C++</strong> language specifications, refer to the Programming Language CJIS X 3010-1993<br />

or a reference book meeting ANSI standards.<br />

■ Trademarks<br />

<strong>SOFTUNE</strong> is a trademark of FUJITSU LIMITED.<br />

Microsoft, Windows, Windows NT, and MS-DOS are registered trademarks of Microsoft<br />

Corporation in the U.S. and other countries.<br />

The names of products and systems appearing in this manual are trademarks or registered<br />

trademarks of their respective companies.<br />

■ Structure of This Manual<br />

This manual consists of the following 24 chapters and an appendix:<br />

CHAPTER 1 "OVERVIEW"<br />

This chapter outlines the analysis of a source program in the C/<strong>C++</strong> language with the C/<br />

<strong>C++</strong> Analyzer.<br />

CHAPTER 2 "ANALYSIS PROCEDURE"<br />

This chapter explains the procedure for analyzing a source program written in the C/<strong>C++</strong><br />

language with the C/<strong>C++</strong> Analyzer.<br />

CHAPTER 3 "PROJECT"<br />

This chapter explains how to create and operate a project.<br />

CHAPTER 4 "FILE"<br />

This chapter explains how to create and operate a file.<br />

i


ii<br />

CHAPTER 5 "ANALYZE"<br />

This chapter describes details on source program analysis using this system.<br />

CHAPTER 6 "EDIT"<br />

This chapter explains how to operate the Analyze functions.<br />

CHAPTER 7 "VIEW"<br />

This chapter explains how to operate the View functions.<br />

CHAPTER 8 "COMPILE"<br />

This chapter explains the Compile functions.<br />

CHAPTER 9 "CHECK"<br />

This chapter explains the check feature.<br />

CHAPTER 10 "GROBAL INFORMATION"<br />

This chapter explains the operation of global information.<br />

CHAPTER 11 "SETUP"<br />

This chapter explains the setup operation.<br />

CHAPTER 12 "WINDOWS"<br />

This chapter explains window display and operation.<br />

CHAPTER 13 "HELP"<br />

This chapter explains the display and operation of the help function.<br />

CHAPTER 14 "GRAPH FLOW"<br />

This chapter explains the display and operation of a graph flow.<br />

CHAPTER 15 "CALL TREE"<br />

This chapter explains the display and operation of a call tree.<br />

CHAPTER 16 "CLASS INFORMATION"<br />

This chapter explains the display and operation of class information.<br />

CHAPTER 17 "NAME SPACE"<br />

This chapter explains the display and operation of the name space information.<br />

CHAPTER 18 "LOGIC FLOW"<br />

This chapter explains how to display and operate Logic Flow<br />

CHAPTER 19 "SUMMARY"<br />

This chapter explains how to display and operate Summary<br />

CHAPTER 20 "CROSS REFERENCE"<br />

This chapter explains how to display and operate Cross Reference.<br />

CHAPTER 21 "PROGRAM EDITING"<br />

This chapter explains how to start the standard editor and how to edit the program.<br />

CHAPTER 22 "MAX USED STACK"<br />

This chapter will explain how to display and operate the max used stack.<br />

CHAPTER 23 "USED STACK INFORMATION"<br />

This chapter explains used stack information and max used stack.


CHAPTER 24 "PRINTING"<br />

This chapter explains the printing operation and features<br />

"APPENDIX"<br />

This appendix explains problems that may occur during the use of Softune C/<strong>C++</strong> Analyzer.<br />

■ Reference Documents<br />

THE C PROGRAMMING LANGUAGE (Brian W. Kernighan & Dennis M. Ritchie)<br />

American National Standard for Infornmation Systems - Programming Language C, X3. 159-<br />

1989<br />

The Annotated Reference Manual (Addison-Wesley Publishing Company, Inc.)<br />

The Programming Language C ++ Third Edition (Addison-Wesley Publishing Company, Inc.)<br />

ISO/IEC 14882:1998<br />

iii


iv<br />

• The contents of this document are subject to change without notice. Customers are advised to consult<br />

with FUJITSU sales representatives before ordering.<br />

The information and circuit diagrams in this document are presented as examples of semiconductor<br />

device applications, and are not intended to be incorporated in devices for actual use. Also, FUJITSU is<br />

unable to assume responsibility for infringement of any patent rights or other rights of third parties<br />

arising from the use of this information or circuit diagrams.<br />

The products described in this document are designed, developed and manufactured as contemplated<br />

for general use, including without limitation, ordinary industrial use, general office use, personal use, and<br />

household use, but are not designed, developed and manufactured as contemplated (1) for use<br />

accompanying fatal risks or dangers that, unless extremely high safety is secured, could have a serious<br />

effect to the public, and could lead directly to death, personal injury, severe physical damage or other<br />

loss (i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass<br />

transport control, medical life support system, missile launch control in weapon system), or (2) for use<br />

requiring extremely high reliability (i.e., submersible repeater and artificial satellite).<br />

Please note that <strong>Fujitsu</strong> will not be liable against you and/or any third party for any claims or damages<br />

arising in connection with above-mentioned uses of the products.<br />

Any semiconductor devices have an inherent chance of failure. You must protect against injury, damage<br />

or loss from such failures by incorporating safety design measures into your facility and equipment such<br />

as redundancy, fire protection, and prevention of over-current levels and other abnormal operating<br />

conditions.<br />

If any products described in this document represent goods or technologies subject to certain<br />

restrictions on export under the Foreign Exchange and Foreign Trade Law of Japan, the prior<br />

authorization by Japanese government will be required for export of those products from Japan.<br />

©2002 FUJITSU LIMITED Printed in Japan


READING THIS <strong>MANUAL</strong><br />

■ Product Names<br />

In this manual and this product, product names are designated as follows:<br />

■ Note on Descriptions<br />

<strong>SOFTUNE</strong> is designated as Softune.<br />

The Microsoft ® Windows ® 98 operating system is abbreviated to Windows 98.<br />

The Microsoft ® Windows ® Millennium Edition operating system is abbreviated to Windows Me.<br />

The Microsoft ® Windows NT ® Workstation operating system Version 4.0 and the Microsoft ®<br />

Windows NT ® Server network operating system Version 4.0 are abbreviated to<br />

Windows NT 4.0.<br />

Microsoft ® Windows ® 2000 Professional operating system is abbreviated to Windows 2000.<br />

Microsoft ® Windows ® XP Professional operating system is abbreviated to Windows XP.<br />

The examples of windows and screens shown in this manual are those displayed when the C/<br />

<strong>C++</strong> Analyzer operates on Windows 2000. Actual windows and screens may vary depending<br />

on the operating system, environment, computer model, and display resolution.<br />

v


CONTENTS<br />

CHAPTER 1 OVERVIEW ................................................................................................... 1<br />

1.1 What Is the C/<strong>C++</strong> Analyzer? ................................................................................................................ 2<br />

1.2 Window Configuration ............................................................................................................................ 3<br />

1.3 Basic Functions ..................................................................................................................................... 9<br />

1.3.1 Project ............................................................................................................................................ 11<br />

1.3.2 File .................................................................................................................................................. 13<br />

1.3.3 Analyze ........................................................................................................................................... 14<br />

1.3.4 Edit ................................................................................................................................................. 15<br />

1.3.5 View ................................................................................................................................................ 16<br />

1.3.6 Compile .......................................................................................................................................... 18<br />

1.3.7 Setup .............................................................................................................................................. 20<br />

1.3.8 Window ........................................................................................................................................... 21<br />

1.3.9 Help ................................................................................................................................................ 22<br />

1.4 Display Functions ................................................................................................................................ 23<br />

1.4.1 Class Information ............................................................................................................................ 25<br />

1.4.2 Name Space ................................................................................................................................... 27<br />

1.4.3 Call Tree ......................................................................................................................................... 28<br />

1.4.4 Graph Flow ..................................................................................................................................... 29<br />

1.4.5 Logic Flow ...................................................................................................................................... 30<br />

1.4.6 Summary Information ..................................................................................................................... 31<br />

1.4.7 Cross Reference Information .......................................................................................................... 32<br />

1.4.8 Global Information .......................................................................................................................... 33<br />

1.4.9 Program Editing .............................................................................................................................. 34<br />

1.4.10 Max Used Stack ............................................................................................................................. 36<br />

1.4.11 Candidate for Inline Function .......................................................................................................... 37<br />

1.4.12 Candidate for Const Declaration .................................................................................................... 38<br />

1.4.13 Printing ........................................................................................................................................... 39<br />

CHAPTER 2 ANALYSIS PROCEDURE ........................................................................... 41<br />

2.1 Starting the C/<strong>C++</strong> Analyzer ................................................................................................................ 42<br />

2.2 Terminating the C/<strong>C++</strong> Analyzer ......................................................................................................... 43<br />

2.3 Windows .............................................................................................................................................. 44<br />

2.4 Menus on Window ............................................................................................................................... 46<br />

2.5 Creating a Project ................................................................................................................................ 48<br />

2.6 Setting Analysis Options ...................................................................................................................... 50<br />

2.6.1 General Mode ................................................................................................................................. 51<br />

2.6.2 C/<strong>C++</strong> options ................................................................................................................................. 52<br />

2.6.3 Maximum Number of Statements in an Inline Function .................................................................. 54<br />

2.6.4 Project Setup .................................................................................................................................. 55<br />

2.7 Analyzing Source Programs ................................................................................................................ 56<br />

2.8 Displaying Analysis Results ................................................................................................................. 57<br />

2.9 Analysis Result Data File ..................................................................................................................... 58<br />

vii


CHAPTER 3 PROJECT ................................................................................................... 59<br />

3.1 Project Menu ....................................................................................................................................... 60<br />

3.2 Creating a New Project ....................................................................................................................... 62<br />

3.3 Opening a Project ............................................................................................................................... 64<br />

3.4 Saving a Project .................................................................................................................................. 65<br />

3.5 Updating Dependence ........................................................................................................................ 66<br />

3.6 Printing ................................................................................................................................................ 67<br />

3.7 Print Preview ....................................................................................................................................... 68<br />

3.8 Printer Setup ....................................................................................................................................... 69<br />

CHAPTER 4 FILE ............................................................................................................. 71<br />

4.1 File Menu ............................................................................................................................................ 72<br />

4.2 Creating a New File ............................................................................................................................ 73<br />

4.3 Opening a File ..................................................................................................................................... 74<br />

4.4 Saving a File ....................................................................................................................................... 75<br />

4.5 Adding or Deleting a File ..................................................................................................................... 76<br />

CHAPTER 5 ANALYZE ................................................................................................... 79<br />

5.1 Analyze Menu ..................................................................................................................................... 80<br />

5.2 Setting Analysis Options ..................................................................................................................... 81<br />

5.2.1 General Mode ................................................................................................................................ 83<br />

5.2.2 C/<strong>C++</strong> Options ............................................................................................................................... 84<br />

5.2.3 Maximum Number of Statements in an Inline Function ................................................................. 86<br />

5.2.4 Pre-processor ................................................................................................................................ 87<br />

CHAPTER 6 EDIT ............................................................................................................ 91<br />

6.1 Edit Menu ............................................................................................................................................ 92<br />

CHAPTER 7 VIEW ........................................................................................................... 97<br />

7.1 View Menu .......................................................................................................................................... 98<br />

7.2 Tool Bar ............................................................................................................................................ 100<br />

7.3 Status Bar ......................................................................................................................................... 101<br />

7.4 Project Window ................................................................................................................................. 102<br />

7.5 Analysis Message Window ............................................................................................................... 104<br />

7.6 Analysis Information (Graph Flow) .................................................................................................... 106<br />

7.7 Analysis Information (Tree View) ...................................................................................................... 108<br />

7.8 Class Information .............................................................................................................................. 110<br />

7.9 Name Space ..................................................................................................................................... 112<br />

7.10 Function List ...................................................................................................................................... 113<br />

7.11 Max Used Stack ................................................................................................................................ 115<br />

7.12 Find ................................................................................................................................................... 116<br />

CHAPTER 8 COMPILE .................................................................................................. 119<br />

8.1 Compile Menu ................................................................................................................................... 120<br />

8.2 Setting Options for fcc911s ............................................................................................................... 121<br />

8.2.1 Detailed Options for Preprocessor (fcc911s Compiler) ................................................................ 124<br />

8.2.2 Detailed Options for Language Specifications (fcc911s Compiler) .............................................. 128<br />

8.2.3 Detailed Options for Optimization (fcc911s Compiler) ................................................................. 130<br />

viii


8.2.4 Detailed Options for Output (fcc911s Compiler) ........................................................................... 132<br />

8.3 Setting Options for fcc935s ................................................................................................................ 134<br />

8.3.1 Detailed Options for Preprocessor (fcc935s Compiler) ................................................................ 137<br />

8.3.2 Detailed Options for Language Specifications (fcc935s Compiler) .............................................. 141<br />

8.3.3 Detailed Options for Optimization (fcc935s Compiler) .................................................................. 143<br />

8.3.4 Detailed Options for Output (fcc935s Compiler) ........................................................................... 146<br />

8.4 Setting up ANSI C/<strong>C++</strong> Compiler Options ......................................................................................... 148<br />

CHAPTER 9 CHECK ...................................................................................................... 151<br />

9.1 Check Menu ....................................................................................................................................... 152<br />

9.2 Displaying Inline Expansion Candidate Function ............................................................................... 153<br />

CHAPTER 10 GLOBAL INFORMATION ......................................................................... 155<br />

10.1 Selecting Global Information .............................................................................................................. 156<br />

10.2 Displaying Global Variable Information .............................................................................................. 157<br />

10.3 Pointing to const-Type Qualification Declaration Candidate .............................................................. 158<br />

10.4 Pop-up Menu of Global Information ................................................................................................... 159<br />

10.5 Searching for Text ............................................................................................................................. 160<br />

CHAPTER 11 SETUP ....................................................................................................... 161<br />

11.1 Setup Menu ....................................................................................................................................... 162<br />

11.2 Editor Customization .......................................................................................................................... 163<br />

11.3 Environment of Compiler .................................................................................................................. 165<br />

CHAPTER 12 WINDOWS ................................................................................................. 167<br />

12.1 [Window] Menu .................................................................................................................................. 168<br />

CHAPTER 13 HELP ......................................................................................................... 169<br />

13.1 [Help] Menu ....................................................................................................................................... 170<br />

CHAPTER 14 GRAPH FLOW .......................................................................................... 171<br />

14.1 Displaying Graph Flow ....................................................................................................................... 172<br />

14.2 Pop-up Menu of Graph Flow .............................................................................................................. 174<br />

14.3 Enlargement/Reduction Display ........................................................................................................ 176<br />

14.4 Focus Display .................................................................................................................................... 178<br />

14.5 Displaying Undefined Functions ........................................................................................................ 180<br />

14.6 Outputting Bitmap File ....................................................................................................................... 181<br />

CHAPTER 15 CALL TREE ............................................................................................... 183<br />

15.1 Displaying Call Tree ........................................................................................................................... 184<br />

15.2 Call Tree Pop-up Menu ...................................................................................................................... 185<br />

CHAPTER 16 CLASS INFORMATION ............................................................................ 187<br />

16.1 Displaying Class Information ............................................................................................................. 188<br />

16.2 Class Inheritance Diagram ................................................................................................................ 189<br />

16.2.1 Enlargement/Reduction Display ................................................................................................... 191<br />

16.2.2 Focus Display ............................................................................................................................... 193<br />

16.2.3 Displaying Undefined Classes ...................................................................................................... 195<br />

ix


x<br />

16.2.4 Class Name List ........................................................................................................................... 196<br />

16.3 Class Statistical Information .............................................................................................................. 197<br />

16.4 Class Inheritance Information ........................................................................................................... 199<br />

16.5 Class Usage Information ................................................................................................................... 200<br />

16.6 Friend Information ............................................................................................................................. 201<br />

CHAPTER 17 NAME SPACE .......................................................................................... 203<br />

17.1 Displaying Name Space Information ................................................................................................. 204<br />

CHAPTER 18 LOGIC FLOW ........................................................................................... 207<br />

18.1 Selecting Logic Flow ......................................................................................................................... 208<br />

18.2 Display Logic Flow ............................................................................................................................ 209<br />

18.3 Logic Flow Pop-Up Menu .................................................................................................................. 211<br />

CHAPTER 19 SUMMARY ................................................................................................ 213<br />

19.1 Selecting Summary ........................................................................................................................... 214<br />

19.2 Displaying Summary ......................................................................................................................... 215<br />

19.3 How to Measure and Use Complexity ............................................................................................... 217<br />

19.4 Summary Pop-up Menu .................................................................................................................... 218<br />

19.5 Searching for Text ............................................................................................................................. 219<br />

CHAPTER 20 CROSS REFERENCE ............................................................................... 221<br />

20.1 Selecting Cross Reference ............................................................................................................... 222<br />

20.2 Displaying Cross Reference ............................................................................................................. 223<br />

20.3 Cross Reference Pop-up Menu ........................................................................................................ 226<br />

20.4 Searching for Text ............................................................................................................................. 228<br />

CHAPTER 21 PROGRAM EDITING ................................................................................ 229<br />

21.1 Activate the Standard Editor ............................................................................................................. 230<br />

21.2 External Editor Setup ........................................................................................................................ 231<br />

21.3 Standard Editor Setup ....................................................................................................................... 233<br />

21.4 Standard Editor Pop-up Menu .......................................................................................................... 236<br />

21.5 Other Functions ................................................................................................................................ 238<br />

CHAPTER 22 MAX USED STACK .................................................................................. 241<br />

22.1 Max Used Stack (Specified Function) ............................................................................................... 242<br />

22.2 Max Used Stack (All Functions) ........................................................................................................ 243<br />

22.3 Max Used Stack Route (Specified Function) .................................................................................... 244<br />

22.4 Max Used Stack Route (All Functions) ............................................................................................. 245<br />

22.5 Max Used Stack Route Focus .......................................................................................................... 246<br />

CHAPTER 23 USED STACK INFORMATION ................................................................. 247<br />

23.1 Calculating Max Used Stack ............................................................................................................. 248<br />

23.2 Limitations on the Max Used Stack ................................................................................................... 249<br />

23.3 Creating a Stack Information File ...................................................................................................... 250<br />

CHAPTER 24 PRINTING ................................................................................................. 255<br />

24.1 Printing the Analysis Window ............................................................................................................ 256


APPENDIX .......................................................................................................................... 259<br />

APPENDIX A TROUBLESHOOTING .......................................................................................................... 260<br />

INDEX ...................................................................................................................................271<br />

xi


xii


CHAPTER 1 OVERVIEW<br />

This chapter outlines the analysis of a source program in the C/<strong>C++</strong> language with the<br />

C/<strong>C++</strong> Analyzer.<br />

1.1 "What Is the C/<strong>C++</strong> Analyzer?"<br />

1.2 "Window Configuration"<br />

1.3 "Basic Functions"<br />

1.4 "Display Functions"<br />

1


CHAPTER 1 OVERVIEW<br />

1.1 What Is the C/<strong>C++</strong> Analyzer?<br />

The C/<strong>C++</strong> Analyzer is a tool to display and print the structure of a source program<br />

written in the C/<strong>C++</strong> language and the status of data being used by the program. This<br />

tool provides information that can be effectively used to increase program<br />

development and code efficiency in object programs. This tool also conforms to the<br />

embedded feature of the <strong>FR</strong>-V/<strong>FR</strong> Family Softune C/<strong>C++</strong> Compiler.<br />

■ Effects of C/<strong>C++</strong> Analyzer<br />

The C/<strong>C++</strong> Analyzer can respond to the following user demands:<br />

The user wants to examine the structure and processing contents of a program of which<br />

internal processing is unknown.<br />

The user wants to create a structured program and obtain an understanding of its structure<br />

and processing logic.<br />

Before modifying a program, the user wants to examine the range of the effect of<br />

modification.<br />

The user wants to create documents for a program.<br />

2<br />

The user wants to create a embedded application program that is highly efficient in the use<br />

of codes.


1.2 Window Configuration<br />

1.2 Window Configuration<br />

This section explains the window configuration of the C/<strong>C++</strong> Analyzer. The C/<strong>C++</strong><br />

Analyzer has the following six types of window:<br />

• Main window<br />

Project window<br />

Analysis message window<br />

Analysis window<br />

Edit window<br />

Dialog box<br />

■ Main Window<br />

When the C/<strong>C++</strong> Analyzer is started, the main window is first opened. All other windows will be<br />

displayed on the main window when opened.<br />

Figure 1.2-1 "Example of Main Window" shows an example of the main window on which the<br />

project window and the message window is displayed.<br />

Figure 1.2-1 Example of Main Window<br />

3


CHAPTER 1 OVERVIEW<br />

■ Project Window<br />

The C/<strong>C++</strong> Analyzer analyzes the source programs that are managed by the project<br />

management function. The C/<strong>C++</strong> Analyzer also manages the stack information files created by<br />

a <strong>Fujitsu</strong>’s compiler.<br />

For details on the project window, see Section 7.4 "Project Window".<br />

Figure 1.2-2 "Example of Project Window" shows an example of the project window on which<br />

source programs are listed.<br />

4<br />

Figure 1.2-2 Example of Project Window


1.2 Window Configuration<br />

■ Analysis Message Window<br />

The C/<strong>C++</strong> Analyzer displays analysis messages while analyzing a source program. When the<br />

user double-clicks on an analysis message, e.g., warning message, the relevant section of the<br />

source program is displayed on the edit window enabling the user to easily modify the section.<br />

For details on the analysis message window, see Section 7.5 "Analysis Message Window".<br />

Figure 1.2-3 "Example of Analysis Message Window" shows an example of the analysis<br />

message window on which analysis status is displayed.<br />

Figure 1.2-3 Example of Analysis Message Window<br />

5


CHAPTER 1 OVERVIEW<br />

■ Analysis Windows<br />

After a source program is analyzed normally by the C/<strong>C++</strong> Analyzer, the user can display<br />

various types of analysis window.<br />

For details on the analysis windows, see Section 7.6 "Analysis Information (Graph Flow)" and<br />

Section 7.7 "Analysis Information (Tree View)".<br />

Figure 1.2-4 "Analysis Windows" shows an example of some analysis windows on display.<br />

6<br />

Figure 1.2-4 Analysis Windows


1.2 Window Configuration<br />

■ Edit Windows<br />

The C/<strong>C++</strong> Analyzer has some functions to edit source programs on edit windows. Each edit<br />

window is opened when the user selects it to create a new text file or calls it from the analysis<br />

message window.<br />

For details on the edit windows, see CHAPTER 2 "ANALYSIS PROCEDURE".<br />

Figure 1.2-5 "Edit Windows"shows an example of some edit windows on display.<br />

Figure 1.2-5 Edit Windows<br />

7


CHAPTER 1 OVERVIEW<br />

■ Dialog Box<br />

Dialog boxes are used to set up analysis options and printing on the C/<strong>C++</strong> Analyzer.<br />

For details on each dialog box, see subsequent chapters.<br />

Figure 1.2-6 "Dialog Box for Analysis Options" shows the dialog box for analysis options.<br />

8<br />

Figure 1.2-6 Dialog Box for Analysis Options


1.3 Basic Functions<br />

1.3 Basic Functions<br />

The C/<strong>C++</strong> Analyzer has the basic functions listed below. This section provides an<br />

outline of each basic function in the following order:<br />

Project<br />

File<br />

Analyze<br />

Edit<br />

View<br />

Compile<br />

Setup<br />

Window<br />

Help<br />

■ Project<br />

■ File<br />

■ Analyze<br />

■ Edit<br />

■ View<br />

■ Compile<br />

■ Setup<br />

■ Window<br />

The Project functions permit the user to manage C/<strong>C++</strong> source files through the project<br />

management functions of the C/<strong>C++</strong> Analyzer.<br />

The File functions permit the user to open C/<strong>C++</strong> source and stack information files.<br />

The Analyze functions permit the user to analyze the structure of a source program in a<br />

selected project and create analysis data.<br />

The Edit functions permit the user to edit character strings on various analysis windows and<br />

source programs.<br />

The View functions permit the user to display various analysis windows based on analysis data.<br />

The Compile functions permit the user to compile a source program in a selected project.<br />

The Setup functions permit the user to customize the internal editor and set up the compiler<br />

environment.<br />

The Window functions permit the user to change settings on various analysis windows.<br />

9


CHAPTER 1 OVERVIEW<br />

■ Help<br />

10<br />

The Help functions permit the user to display the help files showing a functional outline of the C/<br />

<strong>C++</strong> Analyzer and C/<strong>C++</strong> Analyzer operation methods.


1.3.1 Project<br />

1.3 Basic Functions<br />

The Project functions permit the user to manage C/<strong>C++</strong> source files through the<br />

project management functions of the C/<strong>C++</strong> Analyzer.<br />

The project management functions include the following:<br />

Creation of new projects<br />

Management of existing projects<br />

With these functions, the user can manage source programs collectively.<br />

■ Project File<br />

The extension code for a project file name is ".anp".<br />

■ New Project<br />

The New Project function permits the user to create a new project. When New Project is<br />

chosen from the Project menu, the Project Name & Path dialog box appears. Specify the name<br />

of the new project and the name of the folder to store the new project file in the dialog box.<br />

■ Open Project<br />

The Open Project function permits the user to open an existing project. To select the existing<br />

project to be opened, choose Open Project from the Project menu. The Select File dialog box<br />

appears. Select the existing project file in the dialog box.<br />

■ Save Project<br />

The Save Project function permits the user to save the currently opened project by writing its<br />

contents over the project saved under the same name.<br />

■ Save Project As<br />

The Save Project As function permits the user to save the currently opened project under a new<br />

name.<br />

■ Close Project<br />

The Close Project function permits the user to close the currently opened project. If the project<br />

is not saved, a message is displayed alerting the user of such status.<br />

■ Update Dependence<br />

The Update Dependence function permits the user to also register the header file used by a<br />

source program newly registered in the same project.<br />

■ Print<br />

The Print function displays a dialog box for printing settings. The range of printing and the<br />

number of print copies can be specifie.<br />

11


CHAPTER 1 OVERVIEW<br />

■ Print Preview<br />

The Print Preview function displays images of printed pages.<br />

■ Print Setup<br />

The Print Setup function displays a dialog box to set up the printer.<br />

■ Quit C/<strong>C++</strong> Analyzer<br />

12<br />

The Quit C/<strong>C++</strong> Analyzer function terminates the C/<strong>C++</strong> Analyzer. If a file is being edited in a<br />

project when the Quit C/<strong>C++</strong> Analyzer command is chosen from the Project menu, a message<br />

dialog box appears asking if the file is to be saved.


1.3.2 File<br />

1.3 Basic Functions<br />

The File functions permits the user to file. The user can save and print modified files<br />

of source programs.<br />

■ New File<br />

■ Open File<br />

The New File function permits the user to create a new text file. The user can edit a source<br />

program, stack information, or document file.<br />

This function opens an untitled file with the editor.<br />

The Open File function permits the user to open an existing file.<br />

To open a file, choose Open File from the File menu. The Select File dialog box appears.<br />

Select the file to be opened from the list in the dialog box, and click the Open button.<br />

■ Add File in Project<br />

The Add File in Project function permits the user to register files in an opened project. To<br />

register files, choose Add File in Project from the File menu. The Select File dialog box<br />

appears. Select the files to be registered in the project from the list in the dialog box, and click<br />

the OK button.<br />

■ Delete File from Project<br />

The Delete File from Project function permits the user to delete the files selected on the project<br />

window. If no file is selected, this function deletes all files.<br />

■ Save File<br />

■ Save File As<br />

The Save File function permits the user to save the currently opened file by writing its contents<br />

over the file saved under the same name.<br />

The Save File As function permits the user to save the currently opened file under a new name.<br />

This function is valid only when a file is currently opened.<br />

13


CHAPTER 1 OVERVIEW<br />

1.3.3 Analyze<br />

The Analyze functions permit the user to analyze a source program statically and<br />

create the data required for display by the C/<strong>C++</strong> Analyzer. The structure of the source<br />

program can be easily understood.<br />

■ Re-Analyze<br />

The Re-Analyze function analyzes the source programs registered in a specified project.<br />

■ Analyze<br />

■ Interrupt<br />

■ Analysis Options<br />

14<br />

The Analyze function analyzes only the modified source programs among the source programs<br />

registered in a specified project.<br />

The Interrupt function cancels analysis operation. When the Interrupt command is chosen from<br />

the Analyze menu, a dialog box indicating cancellation of analysis operation appears.<br />

This function is valid only while a source program is being analyzed by the Analyze or Re-<br />

Analyze function.<br />

The Analysis Options function permits the user to set optional information for the analysis of<br />

source program. When the Analysis Options command is chosen from the Analyze menu, the<br />

Analysis Options dialog box appears.


1.3.4 Edit<br />

1.3 Basic Functions<br />

The Edit functions permit the user to edit source programs and text files. The user can<br />

perform cut and paste operations for the file being edited.<br />

■ Copy<br />

■ Select All<br />

■ Undo<br />

■ Paste<br />

■ Cut<br />

■ Find<br />

■ Replace<br />

The Copy function copies the data selected on the currently displayed analysis or edit window<br />

and saves the data on the clipboard.<br />

The Select All function permits the user to select all data on the currently displayed analysis or<br />

edit window and save the data on the clipboard. This function is valid only when an analysis or<br />

edit window is displayed.<br />

The Undo function cancels the previous file editing operation performed on the currently<br />

displayed edit window and restores the relevant file to the status before the file editing<br />

operation. This function is valid only when an edit window is displayed.<br />

The Paste function inserts the content of the clipboard in the position indicated by the cursor on<br />

the currently displayed edit window. This function is valid only when an edit window is<br />

displayed.<br />

The Cut function cuts out the selected data and saves the data on the clipboard.<br />

This function is valid only when an edit window is displayed by the internal editor.<br />

The character sequence in the specified edit window is searched.<br />

This function is valid only when an edit window is displayed by the internal editor.<br />

The character sequence in the specified edit window is searched and replaced.<br />

This function is valid only when an edit window is displayed by the internal editor.<br />

■ Find in Files<br />

It searches whether it is contained in the file specified by the specified character sequence. A<br />

reference result is displayed on an analysis message window.<br />

This function is valid only when an edit window is displayed by the internal editor.<br />

15


CHAPTER 1 OVERVIEW<br />

1.3.5 View<br />

The View functions permit the user to display or hide the tool bar and windows and<br />

customize each window and editor. With these functions, the user can freely set up<br />

the screen.<br />

■ Tool Bar<br />

■ Status Bar<br />

■ Project<br />

16<br />

The Tool Bar function displays or hides the tool bar.<br />

The Status Bar function displays or hides the status bar.<br />

The Project function displays or hides a project window.<br />

■ Message Bar<br />

The Message Bar function displays or hides the analysis message bar.<br />

■ Analysis Information (Graph Flow)<br />

The Analysis Information (Graph Flow) function displays a Graph Flow window.<br />

This function is valid only when there is already an analysis data file created by the Analyze or<br />

Re-Analyze command in the Analyze menu.<br />

■ Analysis Information (Tree View)<br />

The Analysis Information (Tree View) function displays a Call Tree window.<br />

This function is valid only when a Graph Flow window is displayed.<br />

■ Class Hierarchy<br />

The Class Hierarchy function displays a class inheritance diagram.<br />

This function is valid only when a Graph Flow window is displayed.<br />

■ Class Name List<br />

The Class Name List function displays a class list.<br />

This function is valid only when a class inheritance diagram is displayed.<br />

■ Name Spaces<br />

The Name Spaces function displays name space information.<br />

This function is valid only when a Graph Flow window is displayed.


■ Name Space Contents<br />

The Name Space Contents function displays name space contents.<br />

This function is valid only when the name space information is displayed.<br />

■ Function List<br />

The Function List function displays a function list.<br />

This function is valid only when a Graph Flow window is displayed.<br />

1.3 Basic Functions<br />

■ Max Used Stack<br />

The Max Used Stack function displays the information on maximum used stack on a Graph<br />

Flow window.<br />

This function can be used only when a stack information file is already created using the<br />

Compile functions.<br />

This function is valid only when a Graph Flow window is displayed.<br />

■ Max Used Stack Route<br />

The Max Used Stack Route function displays the route to the maximum used stack on a Graph<br />

Flow window.<br />

This function can be used only when a stack information file is already created using the<br />

Compile functions.<br />

This function is valid only when a Graph Flow window is displayed.<br />

■ Find<br />

■ Find Prev<br />

■ Find Next<br />

The Find function permits the user to search data on a selected analysis window to find a<br />

specified character string.<br />

The Find Prev function permits the user to search the data in a backward direction on a selected<br />

analysis window to find a specified character string.<br />

This function is valid only when at least an analysis window is displayed.<br />

The Find Next function permits the user to search the data in a forward direction on a selected<br />

analysis window to find a specified character string.<br />

This function is valid only when at least an analysis window is displayed.<br />

17


CHAPTER 1 OVERVIEW<br />

1.3.6 Compile<br />

The Compile functions permit the user to compile a source program.<br />

The following compilers can be selected:<br />

fcc911s (compiler for the <strong>FR</strong> family) as the compiler to be used.<br />

fcc935s (compiler for the <strong>FR</strong>-V family) as the compiler to be used.<br />

With the Compile functions, a stack information file required to control the maximum<br />

size stack can be created. The user must install fcc911s (compiler for the <strong>FR</strong> family) or<br />

fcc935s (compiler for the <strong>FR</strong>-V family) to use the Compile functions.<br />

■ Compilation-target Files<br />

All the source programs registered in the currently displayed project are the targets of<br />

compilation.<br />

■ Start Compilation<br />

The Start Compilation function starts compilation of the source programs registered in the<br />

currently displayed project.<br />

■ Interrupt Compilation<br />

The Interrupt Compilation function cancels the compilation operation in progress. When the<br />

Interrupt Compilation command is chosen from the Compile menu, a dialog box indicating<br />

cancellation of compilation operation appears.<br />

This function is valid only while source programs are being compiled by the Start Compilation<br />

function.<br />

■ Option<br />

18<br />

The Option functions permits the user to set options for the complyer. The user can set tee<br />

options body and chech the options set.<br />

❍ Target Compiler<br />

This option specifies the type of compiler.<br />

When ANSI is specified, fcc911s (compiler for <strong>FR</strong> family) is started in the full ANSI mode.<br />

❍ Language<br />

This option specifies the language for the messages to be output by the compiler.<br />

❍ Chip Classification<br />

The family name of MCU is specified.<br />

❍ Optimization Level<br />

This option specifies the level of compiler optimization.


❍ Warning Level<br />

This option specifies the level of warning on the compiler.<br />

❍ Translation Controller<br />

This option specifies the range of compilation.<br />

❍ Target MCU<br />

This option specifies hte type of MCU. It is possible to input cpu type manually.<br />

❍ Output DEBUG information<br />

This option specifies whether to output debug information to object files.<br />

❍ Not reading default option file<br />

This option specifies whether to use the default option file.<br />

❍ Output STACK information<br />

This option specifies whether to output the information on the used size of stack.<br />

❍ Details<br />

Preprocessor: Specifies options for the preprocessor.<br />

Language: Specifies detailed options for language specifications.<br />

Optimization: Specifies detailed options for optimization.<br />

Output: Specifies detailed options for output.<br />

❍ Other Option’s Description<br />

This field permits the user to directly set other available options for the compiler.<br />

❍ Confirm<br />

This button permits the user to check the settings of compiler options.<br />

1.3 Basic Functions<br />

19


CHAPTER 1 OVERVIEW<br />

1.3.7 Setup<br />

The Setup functions permit the user to set up the internal editor and the installation<br />

environment for the compiler.<br />

■ Editor Customize<br />

The Editor Customize function permits the user to specify the editor (internal editor or your own<br />

editor) to be used for editing.<br />

If an edit window has already been displayed by the internal editor, a dialog box to customize<br />

the internal editor appears when the Editor Customize command is chosen from the Setup<br />

menu.<br />

■ Compilation Environment<br />

20<br />

The Compilation Environment function permits the user to set the path for the directory where<br />

the compiler environment in use has been installed. If the compiler environment has not been<br />

installed, a dialog box indicating non-installation of compiler environment appears.


1.3.8 Window<br />

1.3 Basic Functions<br />

The Window functions permit the user to change the status of various analysis<br />

windows on display.<br />

■ Cascade<br />

The Cascade function displays multiple windows that overlap.<br />

■ Tile Vertically<br />

The Tile Vertically function arranges multiple windows in a row vertically.<br />

■ Tile Horizontally<br />

The Tile Horizontally function arranges multiple windows in a row horizontally.<br />

■ Arrange Icons<br />

The Arrange Icons function arranges iconized windows horizontally in a row at the bottom of the<br />

main window for the current application.<br />

■ Close All<br />

The Close All function closes all analysis windows displayed.<br />

■ Window names 1, 2,...<br />

The Window menu lists currently displayed analysis windows at the bottom.<br />

The currently active window is indicated by a check mark at the top of its name. If the user<br />

wants to activate a window, select the name of the window in the list.<br />

21


CHAPTER 1 OVERVIEW<br />

1.3.9 Help<br />

The Help functions permit the user to display the help files showing a functional<br />

outline of the C/<strong>C++</strong> Analyzer and C/<strong>C++</strong> Analyzer operation methods. The help files<br />

can be printed and searched to find descriptions with a keyword. With these<br />

functions, the user can operate this tool and reference analysis information.<br />

■ Help Topics<br />

The Help Topics function displays a table of contents and keyword for help information on the C/<br />

<strong>C++</strong> Analyzer.<br />

■ About C/<strong>C++</strong> Analyzer<br />

The About C/<strong>C++</strong> Analyzer function displays version information on the C/<strong>C++</strong> Analyzer.<br />

22


1.4 Display Functions<br />

1.4 Display Functions<br />

The C/<strong>C++</strong> Analyzer can display various items of analysis information based on its<br />

analysis functions. The C/<strong>C++</strong> Analyzer has the display functions listed below. This<br />

section gives an outline of each display function in the following order:<br />

Class Information<br />

Name Space<br />

Call Tree<br />

Graph Flow<br />

Logic Flow<br />

Summary Information<br />

Cross Reference Information<br />

Global Information<br />

Program Editing<br />

Max Used Stack<br />

Candidate for Inline Function<br />

Candidate for Const Declaration<br />

Printing<br />

■ Class Information<br />

The Class Information function displays class information, including a diagram showing<br />

inheritance relations between base and derived classes, a list of class names, and information<br />

on friend functions.<br />

■ Name Space<br />

The Name Space function displays the information on the name spaces of C/<strong>C++</strong> programs.<br />

■ Call Tree<br />

The Call Tree function displays the call relations between functions in a list structure.<br />

■ Graph Flow<br />

The Graph Flow function displays a diagram showing the call relations between functions.<br />

■ Logic Flow<br />

The Logic Flow function displays a diagram showing the internal structures of functions.<br />

■ Summary Information<br />

The Summary Information function displays various kinds of statistical information on each<br />

function.<br />

23


CHAPTER 1 OVERVIEW<br />

■ Cross Reference Information<br />

The Cross Reference Information function displays the status of data usage by each function.<br />

■ Global Information<br />

The Global Information function displays the status of usage of global variables.<br />

■ Program Editing<br />

The Program Editing function starts the internal editor. When customized, this function can start<br />

an external editor.<br />

■ Max Used Stack<br />

The Max Used Stack function calculates and displays the maximum size of stack used by<br />

program. This function also displays the route of functions for using a maximum size stack.<br />

■ Candidate for Inline Function<br />

The Candidate for Inline Function searches functions to find candidates for inline development.<br />

■ Candidate for Const Declaration<br />

The Candidate for Const Declaration function searches variables to find candidates for those<br />

variables that will be targets of optimization when declared as constants.<br />

■ Printing<br />

24<br />

The Printing function permits the user to print various analysis windows displayed.


1.4.1 Class Information<br />

1.4 Display Functions<br />

The Class Information function displays the following information about the classes of<br />

<strong>C++</strong> source programs:<br />

Class inheritance diagram<br />

Class summary information<br />

Class list<br />

Class inheritance information<br />

Class usage information<br />

Friend information<br />

From the above information, the user can understand the inheritance relations among<br />

classes of <strong>C++</strong> source programs and where they are used.<br />

■ Class Inheritance Diagram<br />

The class inheritance diagram visually shows the inheritance relations among classes. The<br />

following information can be referenced:<br />

Inheritance relations among all the classes used<br />

Arbitrary class<br />

Base class of a specified class<br />

Classes derived from a specified class<br />

■ Class Summary Information<br />

Class summary information shows characteristics of each class. The following information can<br />

be referenced:<br />

■ Class List<br />

Type of the class<br />

Name, attribute, and type of data member used in the class<br />

Name, attribute, and type of member function used in the class<br />

The class list shows the classes used in programs in a list form.<br />

■ Class Inheritance Information<br />

Class inheritance information shows the information about the base class of a specified class.<br />

The following information can be referenced:<br />

Name of the base class<br />

Inheritance level of the base class<br />

Name of source file where the base class is declared<br />

Type and kind of the base class<br />

25


CHAPTER 1 OVERVIEW<br />

■ Class Usage Information<br />

Class usage information shows the positions where a specified class is used (defined or quoted)<br />

by indicating source file names and line numbers. The specified class can be searched based<br />

on this information.<br />

■ Friend Information<br />

26<br />

Friend information shows the friend information on a specified class. This information enables<br />

the user to know the friend declaration information in an arbitrary class.


1.4.2 Name Space<br />

1.4 Display Functions<br />

The Name Space function displays the following information on the name spaces of C/<br />

<strong>C++</strong> programs:<br />

Name space information<br />

Name space contents<br />

This information enables the user to easily understand the global information on a C<br />

source program and the use of name space members and declarations in a <strong>C++</strong> source<br />

program.<br />

■ Name Space Information<br />

Name space information provides information about external variables and functions used in a<br />

C source program or the name space names used in a <strong>C++</strong> source program.<br />

■ Name Space Contents<br />

Name space contents show detailed information on a specified name space. The following<br />

information can be referenced:<br />

Names and types of name space members<br />

Identifier of alias definition<br />

Identifier of using declaration<br />

Identifier of using instruction<br />

27


CHAPTER 1 OVERVIEW<br />

1.4.3 Call Tree<br />

The Call Tree function displays the call relations between functions in a source<br />

program and highlights the relevant function box displayed on the Graph Flow<br />

window.<br />

■ Call Tree Function<br />

The Call Tree function displays the call relations between functions used in a source program in<br />

a list form.<br />

The following functions on the Call Tree window can be used:<br />

Highlighting a specified function on the Graph Flow window<br />

Displaying the edit window for the source program that includes a specified function<br />

definition<br />

Displaying the Logic Flow window that includes A specified function definition<br />

Displaying the summary information on a specified function<br />

Displaying the mutual reference information on a specified function<br />

Displaying all the functions used on the Call Tree window<br />

Displaying only the highest-level functions used on the Call Tree window<br />

Searching the contents of the Call Tree window to find a function name<br />

28


1.4.4 Graph Flow<br />

1.4 Display Functions<br />

The Graph Flow function displays the call relations between functions in a form of<br />

diagram. This diagram enables the user to easily understand the structure of the<br />

program.<br />

■ Graph Flow Function<br />

The Graph Flow function displays the call relations between functions in a form of diagram. The<br />

following functions can be used on the Graph Flow window:<br />

Displaying the entire structure of the analyzed program and searching for a specified<br />

function<br />

Displaying the functions called by a specified function<br />

Displaying the functions calling a specified function<br />

Displaying the functions that are not found in the analyzed program but called from the<br />

functions in the program<br />

Displaying the number of program lines used for each function<br />

Displaying the maximum size of stack used by each function<br />

Displaying the max used stack route<br />

Outputting the contents of Graph Flow window as a bit map file<br />

29


CHAPTER 1 OVERVIEW<br />

1.4.5 Logic Flow<br />

The Logic Flow function displays the internal structure of a function in diagram form.<br />

This diagram enables the user to easily understand the internal structure of a function.<br />

■ Logic Flow Function<br />

The Logic Flow function displays the source program of a specified function in diagram form.<br />

For C source program<br />

Visually displaying the control structure of if, for, switch, break, goto, while, pairs of do and<br />

while, and continue statements and structure and union declarations<br />

Controlling the display of comment lines<br />

Controlling the display of the contents of user include or system include files<br />

Searching for variable, function, tag, and macro names<br />

For <strong>C++</strong> source program<br />

Visually displaying the control structure of if, for, switch, break, goto, while, pairs of do and<br />

while, and continue statements and class, structure, and union declarations<br />

Controlling the display of comment lines<br />

Controlling the display of the contents of user include or system include files<br />

Searching for variable, function, tag, macro, and class names<br />

30


1.4.6 Summary Information<br />

1.4 Display Functions<br />

The Summary Information function displays the statistical information as listed below<br />

on each function. This information enables the user to understand the characteristics<br />

of each function.<br />

■ Summary Information Function<br />

The Summary Information function displays the detailed information on a specified function.<br />

The user can reference the following information:<br />

Complexity<br />

Number of lines<br />

Number of included lines<br />

Name of the function this function calls<br />

Name of the function calling this function<br />

Numbers of if, while, for, and other statements appearing in the function<br />

31


CHAPTER 1 OVERVIEW<br />

1.4.7 Cross Reference Information<br />

The Cross Reference Information function displays the information listed below on<br />

each function. This information enables the user to know the status of data use in<br />

each function.<br />

■ Mutual Reference Information Function<br />

The Mutual Reference Information function displays the status of data usage and data attributes<br />

in a specified function.<br />

For C source program<br />

Attributes and types of variable, function, parameter, and enumerator names used in the<br />

function and the line numbers of the lines declaring, defining, or referencing them<br />

Kinds and types of structure tag, union tag, and enumerated-type tag names and typedef<br />

names used in the function and the line numbers of the lines defining them<br />

Line numbers of the lines defining and invalidating the macro names and substitute strings<br />

used in the function<br />

For <strong>C++</strong> source program<br />

Line numbers of the lines declaring or referencing the variable names, function names<br />

(including operator function, member function, and translation function names), class<br />

objects, constructors, and destructors used in the function<br />

Structure tag names, union tag names, and enumerated-type tag names, typedef names,<br />

their kinds and types used in the function and the line numbers of the lines defining them<br />

32<br />

Macro names and substitute strings used in the function and the line numbers of the lines<br />

defining and invalidating the macros


1.4.8 Global Information<br />

1.4 Display Functions<br />

The Global Information function displays the global information as listed below on an<br />

entire source program. This information enables the user to understand the status of<br />

data use that affects the entire program.<br />

■ Global Information Function<br />

The Global Information function displays detailed information on the global variables in a source<br />

program that are related to the entire source program.<br />

For C source program<br />

Types of global variables used in the program and the name of the function using the global<br />

variables<br />

Candidates for those variables that will be targets of optimization when declared as<br />

constants (searching)<br />

For <strong>C++</strong> source program<br />

Types of global variables used in the program and the name of the function using the global<br />

variables<br />

Candidates for those variables that will be targets of optimization when declared as<br />

constants (searching)<br />

Name space names used in the program, their types, and the name of the source files using<br />

the name spaces<br />

33


CHAPTER 1 OVERVIEW<br />

1.4.9 Program Editing<br />

When a source file name is double-clicked on a displayed analysis window, the user<br />

can start the internal editor and edit the source file. The user can also use an external<br />

editor after customization.<br />

■ Selecting an Editor<br />

Without the Graph Flow window displayed, choose Editor Customize from the Setup menu.<br />

Then, the internal editor or an external editor can be selected.<br />

■ Internal Editor Functions<br />

In the Internal Editor Setup dialog box, the user can specify the following functions and items:<br />

34<br />

❍ Automatic Indent<br />

Specify this function to automatically indent each line in the same way as the preceding line.<br />

❍ View/Hide: EOF<br />

Specify this item to display an EOF symbol at the end of file.<br />

❍ View/Hide: Line Number<br />

Specify this item to display logical line numbers on the left side of the edit window.<br />

❍ View/Hide: Return Character<br />

Specify this item to display a special symbol as the return code.<br />

❍ View/Hide: Ruler<br />

Specify this item to display the ruler on the edit window.<br />

❍ View/Hide: Char Space<br />

Specify this item to display a special symbol as the em-size space.<br />

❍ View/Hide: Comment<br />

Specify this item to highlight comments.<br />

❍ View/Hide: Tab<br />

View/Hide: Specify this item to display a special symbol as the tab code.<br />

Skipped spaces: Specify the number of spaces to be skipped by a tab code.<br />

❍ Error Tag<br />

Specify this item to colorize error tag in source file.<br />

❍ Colorize<br />

C Keyword: Specify this item to read a C-language keyword file and highlight the relevant<br />

keywords.


1.4 Display Functions<br />

<strong>C++</strong> Keyword: Specify this item to read a <strong>C++</strong>-language keyword file and highlight the<br />

relevant keywords.<br />

Assembler Keyword: Specify this item to read an assembler (ASM) keyword file and<br />

highlight the relevant keywords.<br />

Extended Keyword: Specify this item to read an extended keyword file and highlight the<br />

relevant keywords.<br />

❍ Search Results<br />

Specify this function to highlight the lines, including the string found by searching on the edit<br />

window.<br />

35


CHAPTER 1 OVERVIEW<br />

1.4.10 Max Used Stack<br />

The Max Used Stack function calculates and displays the maximum size stack used by<br />

an entire program or a specified function. This function also displays the route for a<br />

maximum size stack. This information enables the user to know the maximum size<br />

stack required for the current application and the route for use thereof.<br />

■ Calculation of Maximum Used Stack<br />

The Max Used Stack function reads a stack usage information file and calculates the maximum<br />

size stack used. The Max Used Stack function displays the maximum size stack used for the<br />

functions holding stack usage information on the Graph Flow window.<br />

36<br />

❍ For all functions<br />

The Max Used Stack function can display the maximum size stack used by all functions,<br />

including callee functions, displayed on the Graph Flow window.<br />

❍ For a specified function<br />

The Max Used Stack function can display the maximum size stack used only in a function<br />

specified on the Graph Flow window. (The callee functions are ignored.)<br />

■ Display of Maximum Used Stack Route<br />

The Max Used Stack function displays the maximum used stack route based on the calculated<br />

maximum size stack used. The Max Used Stack function displays the maximum used stack<br />

route for the functions holding stack usage information on the Graph Flow window.<br />

❍ For all functions<br />

The Max Used Stack function can display the maximum used stack route for all functions<br />

displayed on the Graph Flow window.<br />

❍ For a specified function<br />

The Max Used Stack function can display the maximum used stack route only for a function<br />

specified on the Graph Flow window.<br />

Note:<br />

To calculate the maximum size stack used, the user must create a stack usage information<br />

file for each source file with the Softune C/<strong>C++</strong> Compiler.<br />

To create a stack usage information file, choose Option from the Compile menu, click on the<br />

Output STACK information check box, then perform compilation.<br />

For restrictions on the calculation of the maximum size stack used, see CHAPTER 23<br />

"USED STACK INFORMATION".


1.4.11 Candidate for Inline Function<br />

1.4 Display Functions<br />

The Candidate for Inline Function searches functions to locate candidates for inline<br />

development. Inline development of functions usually increase not only the speed of<br />

program execution but also the size of the object program. However, if compilation is<br />

optimized, the size of the object program may be reduced significantly.<br />

■ Conditions for the Function that can be a Candidate for Inline Development<br />

The function is called by another function in a source program.<br />

The function is defined in a source program.<br />

The type of actual parameters for the function is the same as the type of dummy parameters<br />

for the function.<br />

The number of actual parameters for the function is the same as the number of dummy<br />

parameters for the function.<br />

The parameters of the function do not have class attributes (in the case of <strong>C++</strong> program).<br />

The parameters of the function do not include structures or unions.<br />

The function is not called recurrently.<br />

The function does not call a setjmp function.<br />

The function does not include descriptions of try, throw, and catch (in the case of <strong>C++</strong><br />

program).<br />

The function is not a dummy function (in the case of <strong>C++</strong> program).<br />

The function is not called through reference to an address.<br />

The number of lines describing the function does not exceed the "maximum number of<br />

statements in an inline function" specified in the Analysis Options dialog box.<br />

Reference:<br />

Specify the "maximum number of statements in an inline function" in consideration of the<br />

area to be used.<br />

37


CHAPTER 1 OVERVIEW<br />

1.4.12 Candidate for Const Declaration<br />

The Candidate for Const Declaration function displays the global variables that should<br />

be declared as constants. The variables declared with constant qualification will be<br />

the targets of compilation optimization.<br />

■ Conditions for the Variable that can be a Candidate for Constant Declaration<br />

The variable is defined as an external variable.<br />

The variable is not updated in the entire source program.<br />

38


1.4.13 Printing<br />

1.4 Display Functions<br />

The results of analysis can be printed. The printed analysis results can be used as<br />

documents or material for preview and maintenance.<br />

■ Printing<br />

The contents of analysis and edit windows can be printed.<br />

For details, see CHAPTER 24 "PRINTING".<br />

39


CHAPTER 1 OVERVIEW<br />

40


CHAPTER 2 ANALYSIS PROCEDURE<br />

This chapter explains the procedure for analyzing a source program written in the C/<br />

<strong>C++</strong> language with the C/<strong>C++</strong> Analyzer.<br />

2.1 "Starting the C/<strong>C++</strong> Analyzer"<br />

2.2 "Terminating the C/<strong>C++</strong> Analyzer"<br />

2.3 "Windows"<br />

2.4 "Menus on Window"<br />

2.5 "Creating a Project"<br />

2.6 "Setting Analysis Options"<br />

2.7 "Analyzing Source Programs"<br />

2.8 "Displaying Analysis Results"<br />

2.9 "Analysis Result Data File"<br />

41


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.1 Starting the C/<strong>C++</strong> Analyzer<br />

To start the C/<strong>C++</strong> Analyzer, double-click the C/<strong>C++</strong> Analyzer icon registered in the<br />

system. When the C/<strong>C++</strong> Analyzer is started, its initial window appears.<br />

■ Starting with the Icon<br />

Double-click the C/<strong>C++</strong> Analyzer icon on the desktop.<br />

42<br />

Figure 2.1-1 C/<strong>C++</strong> Analyzer Icon<br />

■ Starting from the Start Menu<br />

Choose Program from the Start menu, and choose Softune <strong>C++</strong> Analyzer from the submenu.<br />

■ Starting from the Explorer<br />

Choose Program from the Start menu, and choose Explorer from the submenu to start the<br />

Explorer, then double-click on cpanalyze.exe in the folder where the Softune C/<strong>C++</strong> Analyzer<br />

has been installed.<br />

■ Starting from the MS-DOS Prompt<br />

Choose Program from the Start menu and choose MS-DOS Prompt to start the MS-DOS<br />

prompt, then execute the cpanalyze.exe command in the folder where the Softune C/<strong>C++</strong><br />

Analyzer has been installed.


2.2 Terminating the C/<strong>C++</strong> Analyzer<br />

2.2 Terminating the C/<strong>C++</strong> Analyzer<br />

To terminate the C/<strong>C++</strong> Analyzer, choose Quit C/<strong>C++</strong> Analyzer from the Project menu.<br />

■ Starting the C/<strong>C++</strong> Analyzer<br />

Figure 2.2-1 "Project Menu" shows the Project menu of the C/<strong>C++</strong> Analyzer.<br />

Figure 2.2-1 Project Menu<br />

43


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.3 Windows<br />

When the C/<strong>C++</strong> Analyzer is started, the initial window of the C/<strong>C++</strong> Analyzer appears.<br />

■ Initial Window<br />

Figure 2.3-1 "Initial Window" shows the initial window of the C/<strong>C++</strong> Analyzer.<br />

44<br />

Figure 2.3-1 Initial Window


■ Window for Analysis<br />

2.3 Windows<br />

Figure 2.3-2 "Analysis Information (Graph Flow) Window" shows an example of the Analysis<br />

Information (Graph Flow) window displayed after a new project has been created.<br />

Figure 2.3-2 Analysis Information (Graph Flow) Window<br />

45


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.4 Menus on Window<br />

This section explains the bars and menus displayed on each window of the C/<strong>C++</strong><br />

Analyzer.<br />

■ Menus and Bars on Window<br />

46<br />

❍ Tool bar<br />

The tool bar shows the commands of the File and Analyze menus in icon forms.<br />

❍ Status bar<br />

The status bar provides explanations of the menu commands.<br />

❍ Menu bar<br />

The menu bar shows the menus related to the currently focused window.<br />

■ Project Menu<br />

See Section 1.3.1 "Project".<br />

■ File Menu<br />

See Section 1.3.2 "File".<br />

■ Analyze Menu<br />

See Section 1.3.3 "Analyze".<br />

■ Edit Menu<br />

■ View Menu<br />

See Section 1.3.4 "Edit".<br />

See Section 1.3.5 "View".<br />

■ Compile Menu<br />

See Section 1.3.6 "Compile".<br />

■ Setup Menu<br />

See Section 1.3.7 "Setup".<br />

■ Window Menu<br />

See Section 1.3.8 "Window".


■ Help Menu<br />

See Section 1.3.9 "Help".<br />

2.4 Menus on Window<br />

47


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.5 Creating a Project<br />

To analyze a source program with the C/<strong>C++</strong> Analyzer, the user must create a project<br />

and register the source program in the project. This section explains how to create a<br />

project with the New Project command and register the source program in the project<br />

with the Add File in Project command.<br />

■ Project Name & Path Dialog Box<br />

When New Project is chosen from the Project menu, the Project Name & Path dialog box<br />

appears as shown in Figure 2.5-1 "Project Name & Path Dialog Box".<br />

48<br />

Figure 2.5-1 Project Name & Path Dialog Box<br />

■ Select File Dialog Box<br />

When Add File in Project is chosen from the File menu, the Select File dialog box appears as<br />

shown in Figure 2.5-2 "Select File Dialog Box".<br />

Figure 2.5-2 Select File Dialog Box


2.5 Creating a Project<br />

■ Selecting a File<br />

Select a file as follows:<br />

1. Create a new project with the New Project command or open an existing project with the<br />

Open Project command.<br />

2. Use the Add File in Project command to specify the directory where the file to be selected is<br />

stored.<br />

3. Select the name of the file to be selected from the file list in the Look in: box by clicking<br />

(multiple files can be selected by dragging). The user can specify the type of files to be<br />

listed in the box if necessary. And the type of file displayed if necessary in [kind] box can be<br />

specified.<br />

4. If unnecessary files are selected, specify the unnecessary source files on the Project window<br />

and delete with the Delete File from Project command.<br />

■ Specifying the Type of Project File<br />

The user can specify the project file for Softune Workbench or that for Softune C/<strong>C++</strong> Checker<br />

as the file type as follows:<br />

1. Choose Open Project from the Project menu. The Select File dialog box appears.<br />

2. In the Files of type field, specify the extension code "prj" for the project file for Softune<br />

Workbench or "cpj" for the project file for Softune C/<strong>C++</strong> Checker.<br />

3. Select the specified project file. Only the project file for Softune C/<strong>C++</strong> Analyzer can be<br />

used as the project file to be saved.<br />

49


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.6 Setting Analysis Options<br />

The user must set some analysis options when analyzing a source program with the C/<br />

<strong>C++</strong> Analyzer. This section explains how to set analysis options using the Analysis<br />

Options dialog box.<br />

■ Analysis Options Command<br />

When Analysis Options is chosen from the Analyze menu, the Analysis Options dialog box<br />

appears as shown in Figure 2.6-1 "Analysis Options Dialog Box".<br />

50<br />

Figure 2.6-1 Analysis Options Dialog Box


2.6.1 General Mode<br />

2.6 Setting Analysis Options<br />

Specify the target of analysis under the General Mode item in the Analysis Option<br />

dialog box.<br />

■ General Mode<br />

Select "fcc911s" to perform analysis based on fcc911s.<br />

Select "fcc935s" to perform analysis based on fcc935s.<br />

Select "ANSI" to perform analysis strictly conforming to the ANSI Standard.<br />

Specify the family name of MCU in the Chip Classification field.<br />

This specification will affect pre-defined macros and the stack information library.<br />

Specify the target MCU in the Target MCU field. This specification will affect previous<br />

defined macros and the stack information library.<br />

When a value in the Maximum number of statement is specified in an inline function field a<br />

stack information file corresponding to the source file specified in the select file dialog<br />

selected.<br />

51


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.6.2 C/<strong>C++</strong> options<br />

The user can specify the following options in the Analysis Options dialog box:<br />

Language Level<br />

Other options<br />

■ Language Level<br />

The user can specify one of the following language specification levels of the C/<strong>C++</strong> source<br />

program:<br />

52<br />

❍ ANSI+Extension<br />

"ANSI+Extension" specifies the new ANSI C/<strong>C++</strong> specifications, including extended<br />

specifications. The structure of a program whose operation varies depending on the language<br />

specification (new or old) is interpreted in conformance with ANSI C/<strong>C++</strong> specifications. The<br />

warning messages related to changes in the integer extension rules will be displayed on the<br />

Analysis Message window. On the other hand, the warning messages related to tri-graph<br />

sequences or added escape sequences will not be displayed.<br />

❍ Strict ANSI<br />

"Strict ANSI" specifies that related header files must strictly conform to ANSI C/<strong>C++</strong><br />

specifications. However, the files can include those extended ANSI specifications that do not<br />

affect programs strictly conforming to ANSI C/<strong>C++</strong> specifications. For some extended<br />

specifications, warning messages will be displayed on the Analysis Message window. Among<br />

the identifiers in the standard header files, only those defined by ANSI C/<strong>C++</strong> specifications are<br />

visible.<br />

❍ Embedded <strong>C++</strong><br />

"Embedded <strong>C++</strong>" specifies that <strong>C++</strong> source files are interpreted in conformance to E<strong>C++</strong><br />

specifications. In addition to ordinary warning messages, extra warning messages will be<br />

output for specifications out of the E<strong>C++</strong> specifications. Regarding C source files, the<br />

specification of "E<strong>C++</strong>" has the same meaning as the specification of "ANSI".<br />

■ Warning Level<br />

The warning level at the time of analysis can be specified to be this input column. The output<br />

level of a warning message is specified among the diagnostic message at the time of analyzing<br />

a source program.<br />

■ Other Options<br />

The following options can be specified in the Other Options field:<br />

❍ -D name [= tokens]<br />

If this option is omitted, token 1 associates "name" with the specified tokens as the processing<br />

by the #define preprocessing instruction. This function gives "=tokens" as the result.<br />

❍ -U name<br />

This option invalidates the definition of "name" as the processing by the #under preprocessing


2.6 Setting Analysis Options<br />

instruction. If the same name is specified in both the -D and -U options, the specified name is<br />

not defined regardless of the option order.<br />

53


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.6.3 Maximum Number of Statements in an Inline Function<br />

Specify the maximum limit for the number of executable statements of the function<br />

that can be a candidate for inline function. Specify it in the Maximum number of<br />

statements in an inline function field of the Analysis Options dialog box.<br />

■ Maximum Number of Statements in an Inline Function<br />

Conditions for the function that can be a candidate for inline function are as described below.<br />

The candidates exclude the inline specification functions and the member functions defined in a<br />

class in a <strong>C++</strong> source program.<br />

The function is called by another function in a source program.<br />

The function is defined in a source program.<br />

The type of actual parameters for the function is the same as the type of dummy parameters<br />

for the function.<br />

The number of actual parameters for the function is the same as the number of dummy<br />

parameters for the function.<br />

The parameters of the function do not have class attributes, structures, and unions.<br />

The function is not called recurrently.<br />

The function is not a dummy function.<br />

The function does not call a setjmp function.<br />

The function does not include try, throw, and catch blocks.<br />

The function is not called through reference to an address.<br />

The number of lines describing the function does not exceed the maximum number of<br />

statements in an inline function.<br />

Reference:<br />

54<br />

Specify the "maximum number of statements in an inline function" in consideration of the<br />

area to be used.


2.6.4 Project Setup<br />

2.6 Setting Analysis Options<br />

Click the Project’s Setup button in the Analysis Options dialog box and set up the<br />

include paths and macro definitions required for analysis.<br />

■ Include Path<br />

Set up the include paths for the header files used by the source file to be analyzed by the C/<strong>C++</strong><br />

Analyzer.<br />

To register an include path, enter the name of the include path directly or click the Reference<br />

button to display the folder reference dialog box and enter the name of the include path.<br />

After entering the name of the include path, click the Register button to register the include path.<br />

The include paths registered will be used sequentially from the top to search for files to be<br />

included.<br />

The order of registration can changed and files can be deleted from registration.<br />

The order of searching, which includes files according to the description format in the source<br />

program, is explained below.<br />

The file names enclosed by double-quotation marks are searched in the following order:<br />

1. Current directory including the #include preprocessing instruction<br />

2. Directories registered in the include path column (ascending order)<br />

3. Directories where the standard include files supported by the C/<strong>C++</strong> Analyzer are installed<br />

The file names enclosed by brackets () are searched in the following order:<br />

1. Directories registered in the include path column (ascending order)<br />

2. Directories where the standard include files supported by the C/<strong>C++</strong> Analyzer are installed.<br />

■ Macro Definition<br />

Set up the macro definitions used by the source file to be analyzed by the C/<strong>C++</strong> Analyzer.<br />

To register each macro definition, enter the name of the macro directly.<br />

Click the Register button to register the entered macro name.<br />

The macro names registered are defined sequentially from the top.<br />

The user can also change the order of registration and delete macro definitions from<br />

registration.<br />

If multiple macro definitions are registered with the same name, the macro definition at the<br />

bottom among those in the registration column has priority over others.<br />

55


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.7 Analyzing Source Programs<br />

When the Analyze or Re-Analyze command is chosen from the Analyze menu, the<br />

source programs registered in the currently opened project are analyzed. If an error<br />

occurs during analysis, the content of the error is displayed on the Analysis Message<br />

window. If no error occurs and analysis ends, the result of analysis is displayed<br />

automatically.<br />

■ Analyze<br />

56<br />

The Analyze command analyzes all source files displayed on the current project window.<br />

The progress of analysis is displayed on the Analysis Message window.<br />

■ Re-Analyze<br />

The Re-Analyze command analyzes only the modified source files among the source files<br />

displayed on the current project window.<br />

■ Interrupt<br />

The Interrupt command cancels analysis operation. When the Interrupt command is chosen, a<br />

dialog box indicating cancellation of analysis operation appears. Analysis information is then<br />

deleted and the analysis window is not displayed.<br />

This function is valid only while a source program is being analyzed after the Analyze or Re-<br />

Analyze command has been chosen.<br />

■ Analysis Message Window<br />

If an error occurs during the analysis of a source program, an error message is output to the<br />

Analysis Message window and the analysis operation is stopped. The analysis window is not<br />

displayed as in the case of the Interrupt command.


2.8 Displaying Analysis Results<br />

2.8 Displaying Analysis Results<br />

When the Analysis Information (Graph Flow) command is chosen from the View menu,<br />

a Graph Flow window appears. The user can display various analysis information on<br />

the Graph Flow window.<br />

■ Display of Analysis Information (Graph Flow Window)<br />

When the analysis of source programs ends normally, analysis data is saved as a project and a<br />

Graph Flow window appears.<br />

Even after the Graph Flow window is closed, it can be displayed again with the Analysis<br />

Information (Graph Flow) command in the View menu without the need for re-analysis because<br />

the analysis data has been saved.<br />

The Graph Flow window shows the internal hierarchical structure of C/<strong>C++</strong> source program.<br />

The user can also display detailed information on functions and classes on the Graph Flow<br />

window.<br />

57


CHAPTER 2 ANALYSIS PROCEDURE<br />

2.9 Analysis Result Data File<br />

Analysis results are saved as data files in the relevant project.<br />

■ Saving an Analysis Result Data File<br />

An analysis result data file is created under a file name with a suffix ".q". For example, if the<br />

name of a source file is "test.cpp", an analysis result data file named "test.q" is created.<br />

If the contents of the source file are changed after the analysis result data file has been saved,<br />

the analysis results cannot be displayed correctly. If the directory or file name of the analysis<br />

result data file is changed, subsequent operation will be abnormal.<br />

■ Updating an Analysis Result Data File<br />

If an analysis result data file has been created for a source file and the source file is analyzed<br />

again, the analysis result data file is updated to (or replaced with) a new analysis result data file.<br />

■ Displaying an Existing Analysis Result<br />

To display an existing analysis result, open the project that includes the corresponding analysis<br />

result data file and choose Analysis Information (Graph Flow) from the View menu. Thus, the<br />

analysis result can be displayed without performing re-analysis.<br />

■ Deleting an Analysis Result Data File<br />

To delete an analysis result data file, use the Delete command of the Explorer.<br />

58


CHAPTER 3 PROJECT<br />

This chapter explains how to create and operate a project.<br />

3.1 "Project Menu"<br />

3.2 "Creating a New Project"<br />

3.3 "Opening a Project"<br />

3.4 "Saving a Project"<br />

3.5 "Updating Dependence"<br />

3.6 "Printing"<br />

3.7 "Print Preview"<br />

3.8 "Printer Setup"<br />

59


CHAPTER 3 PROJECT<br />

3.1 Project Menu<br />

Projects can be managed using the commands in the Project menu.<br />

Project menu commands are as follows:<br />

New Project command<br />

Open Project command<br />

Close Project command<br />

Save Project command<br />

Save Project As command<br />

Update Dependence command<br />

Print command<br />

Print Preview command<br />

Print Setup command<br />

Quit C/<strong>C++</strong> Analyzer command<br />

■ Project Menu<br />

60<br />

❍ New Project command<br />

The New Project command permits the user to create a new project.<br />

If this command is chosen from the Project menu, the Project Name & Path dialog box appears.<br />

Specify the name of the new project and the name of the folder to store the new project file in<br />

the dialog box.<br />

❍ Open Project command<br />

The Open Project command permits the user to open an existing project.<br />

If this command is chosen from the Project menu, the Select File dialog box appears. Specify<br />

the project file created with the New Project command in the dialog box to open.<br />

❍ Close Project command<br />

The Close Project command closes the currently opened project. If the contents of the project<br />

have not been saved after the last change, a dialog box asking whether to save the project<br />

appears.<br />

❍ Save Project command<br />

The Save Project command saves the currently opened project by writing its contents over the<br />

project saved under the same name. This command does not close the project. To close the<br />

project, use the Close Project command.<br />

❍ Save Project As command<br />

The Save Project As command permits the user to save the currently opened project under a<br />

new name. If this command is chosen from the Project menu, the Project Name & Path dialog<br />

box appears. Specify the new name of the project in the dialog box.


3.1 Project Menu<br />

❍ Update Dependence command<br />

The Update Dependence command permits the user to register in the same project the include<br />

files used by the source files belonging to the currently opened project.<br />

❍ Print command<br />

The Print command permits the user to print the contents of a currently opened analysis<br />

window.<br />

If this command is chosen from the Project menu, the Print dialog box appears. Make settings<br />

for printing in the dialog box.<br />

❍ Print Preview command<br />

The Print Preview command displays a print image currently opened analysis window.<br />

❍ Print Setup command<br />

The Print Setup command permits the user to set up the printer.<br />

If this command is chosen, the Printer Setup dialog box appears. Make printer settings in this<br />

dialog box.<br />

❍ Quit C/<strong>C++</strong> Analyzer command<br />

The Quit C/<strong>C++</strong> Analyzer command terminates the C/<strong>C++</strong> Analyzer. If the contents of the<br />

project have not been saved after the last change, a dialog box asking whether to save the<br />

project appears.<br />

61


CHAPTER 3 PROJECT<br />

3.2 Creating a New Project<br />

To create a new project, choose the New Project command from the Project menu.<br />

■ Creating a New Project<br />

If the New Project command is chosen from the Project menu, the Project Name & Path dialog<br />

box appears. Specify the name of the new project and the name of the folder to store the new<br />

project file in the dialog box. When the new project is created, a file named "project-name.anp"<br />

is created in the specified folder. If the new project is opened next time, specify the created file.<br />

■ Project Name & Path Dialog Box<br />

Use the Project Name & Path dialog box for creating a new project. The following settings can<br />

be made in the dialog box:<br />

Project Name: Enter the name of the new project.<br />

Path: Specify the folder to store the new project.<br />

Change Directory: Use this button to display the Folder Reference dialog box.<br />

62<br />

Reference:<br />

Figure 3.2-1 Project Name & Path Dialog Box<br />

If no project name is specified or the project or file name specified includes an invalid<br />

character, a message dialog box indicating the error appears when the OK button is<br />

pressed.


3.2 Creating a New Project<br />

■ Folder Reference Dialog Box<br />

If the Change Directory button in the Project Name & Path dialog box is clicked, a dialog box to<br />

reference the folders appears as follows:<br />

Figure 3.2-2 Folder Reference Dialog Box<br />

63


CHAPTER 3 PROJECT<br />

3.3 Opening a Project<br />

To open an existing project, choose the Open Project command from the Project menu.<br />

■ Opening a Project<br />

If the Open Project command is chosen from the Project menu, the Select File dialog box<br />

appears. Specify the project file to be opened in the dialog box.<br />

■ Select File Dialog Box<br />

Use the Select File dialog box for opening an existing project. The following settings can be<br />

made in the dialog box:<br />

64<br />

❍ Look in:<br />

Specify the folder storing the project file to be opened in this field.<br />

❍ File name:<br />

Specify the name of the project file to be opened by entering it or selecting it from the list. The<br />

list box shows the files having the identifier (anp) of the project file format for C/<strong>C++</strong> Analyzer.<br />

❍ Files of type:<br />

Specify the type of the project file to be opened by selection. As the default, this field shows the<br />

file type with the identifier (anp) of the project file format for C/<strong>C++</strong> Analyzer. The user can also<br />

select the identifier (prj) of the project file format for Softune Workbench or the identifier (cpj) of<br />

the project file format for Softune C/<strong>C++</strong> Checker.<br />

Note:<br />

Figure 3.3-1 Select File Dialog Box<br />

The user can specify the project file for Softune Workbench, Softune C/<strong>C++</strong> Checker, or<br />

Softune C/<strong>C++</strong> Analyzer. However, the information in the saved project file can only be used<br />

for the Softune C/<strong>C++</strong> Analyzer


3.4 Saving a Project<br />

3.4 Saving a Project<br />

There are two methods of saving a project: Saving it by overwriting and saving it with<br />

a new name. To save a project, choose the Save Project or Save Project As command,<br />

respectively.<br />

■ Save Project Command<br />

The Save Project command saves the currently opened project by writing its contents over the<br />

project saved under the same name. For example, the file names added in the project and<br />

changes in option settings can be saved.<br />

■ Save Project As Command<br />

The Save Project As command permits the user to save the currently opened project under a<br />

new name. For example, the file names added in the project and changes in option settings can<br />

be saved. If this command is chosen, the Project Name & Path dialog box appears as follows:<br />

Figure 3.4-1 Project Name & Path Dialog Box<br />

■ Confirmation Dialog Box<br />

The confirmation dialog box appears if:<br />

you have made changes in the currently opened project and choose the New Project<br />

command without saving the changes,<br />

you have made changes in the currently opened project and choose the Close Project<br />

command without saving the changes, or<br />

you have made changes in the currently opened project and choose the Quit C/<strong>C++</strong><br />

Analyzer command without saving the changes.<br />

Figure 3.4-2 Confirmation Dialog Box<br />

65


CHAPTER 3 PROJECT<br />

3.5 Updating Dependence<br />

The include files used in the source programs registered in a project can be updated<br />

by choosing the Update Dependence command from the Project menu.<br />

■ Update Dependence Command<br />

66<br />

The Update Dependence command checks the source files registered in the currently opened<br />

project and registers the include files used by the source programs in the same project. The<br />

include files registered by this function are displayed in the include file category on the relevant<br />

project window.


3.6 Printing<br />

The contents of a displayed analysis window can be printed by choosing the Print<br />

command from the Project menu.<br />

■ Printing<br />

3.6 Printing<br />

If the Print command is chosen from the Project menu, the Print dialog box appears. The user<br />

can make printing settings in the dialog box.<br />

For details on printing functions, see CHAPTER 24 "PRINTING".<br />

67


CHAPTER 3 PROJECT<br />

3.7 Print Preview<br />

A print image of the contents of the currently opened analysis window can be<br />

displayed.<br />

■ Print Preview<br />

If the Print Preview command is chosen from the Project menu, the Print Preview window<br />

appears.<br />

For details on printing functions, see CHAPTER 24 "PRINTING".<br />

68


3.8 Printer Setup<br />

3.8 Printer Setup<br />

The printer connected to the computer can be set up directly or via a network by<br />

choosing the Print Setup command from the Project menu.<br />

■ Printer Setup<br />

If the Print Setup command is chosen from the Project menu, the Printer Setup dialog box<br />

appears. Make printer settings in this dialog box.<br />

For details on printing functions, see CHAPTER 24 "PRINTING".<br />

69


CHAPTER 3 PROJECT<br />

70


CHAPTER 4 FILE<br />

This chapter explains how to create and operate a file.<br />

4.1 "File Menu"<br />

4.2 "Creating a New File"<br />

4.3 "Opening a File"<br />

4.4 "Saving a File"<br />

4.5 "Adding or Deleting a File"<br />

71


CHAPTER 4 FILE<br />

4.1 File Menu<br />

The user can create a new file, open an existing file, and save a file using the<br />

commands in the File menu.<br />

File menu commands are as follows:<br />

New File command<br />

Open File command<br />

Save File command<br />

Save File As command<br />

Add File in Project command<br />

Delete File from Project command<br />

■ File Menu<br />

72<br />

❍ New File command<br />

The New File command creates a new file. If this command is chosen, an untitled edit window<br />

is opened. If an existing file is to be opened, use the Open File command.<br />

❍ Open File command<br />

The Open File command permits the user to open an existing file. If this command is chosen,<br />

the Select File dialog box appears. Any type of file can be specified in this dialog box.<br />

❍ Save File command<br />

The Save File command saves the file being edited without changing its name and folder. If the<br />

user attempts to save a newly created file for the first time, the Save File As dialog box appears<br />

and the file can be saved with an appropriate file name. If an existing file is to be saved with a<br />

new name in a new folder, use the Save File As command.<br />

The Save File command is valid only when an edit window is opened.<br />

❍ Save File As command<br />

The Save File As command permits the user to save the file being edited without a new name.<br />

If this command is chosen, the Save File As dialog box appears and the file can be saved with<br />

an appropriate file name.<br />

The Save File As command is valid only when an edit window is opened.<br />

❍ Add File in Project command<br />

The Add File in Project command permits the user to add a file in a project. As default, the<br />

types of the files that can be added are "*.cpp", "*.cxx", "*.ipp", and "*.cc". The user can also<br />

select "*.c", "*.i", "*.h", "*.hpp", "*.stk", and "*.*" as types of files that can be added.<br />

❍ Delete File from Project command<br />

The Delete File from Project command permits the user to delete the files selected on a project<br />

window from the relevant project. If no file is selected, this command deletes all files from the<br />

project.


4.2 Creating a New File<br />

To create a new file, choose the New File command from the File menu.<br />

4.2 Creating a New File<br />

■ Creating a New File<br />

Choose the New File command from the File menu. An untitled edit window is opened on the<br />

main window as follows:<br />

Figure 4.2-1 Example of Edit Window (Untitled)<br />

The edit operations on the edit window are linked with the commands in the Edit menu. For<br />

details, see the explanation of the Edit menu.<br />

Reference:<br />

If an external editor is registered using the Editor Customize command in the Setup menu,<br />

the external editor is activated by the above operation. For details, see the explanation of<br />

the Setup menu.<br />

73


CHAPTER 4 FILE<br />

4.3 Opening a File<br />

If the Open File command is chosen, the Select File dialog box appears.<br />

■ Opening a File<br />

Choose the Open File command from the File menu. The Select File dialog box appears.<br />

Specify an already created text file in the dialog box.<br />

■ Select File Dialog Box<br />

Use the Select File dialog box to open an existing text file. The following settings can be made<br />

in the dialog box:<br />

74<br />

❍ Look in:<br />

Specify the folder storing the text file to be opened in this field.<br />

❍ File name:<br />

Specify the name of the text file to be opened by entering it or selecting it from the list. The list<br />

box lists the files having an identifier corresponding to the file type selected in the Files of type<br />

box.<br />

❍ Files of type:<br />

Specify the type of the text file to be opened by selection. As default, any type of file can be<br />

selected. The type of file can be specified by entering the extension code corresponding to the<br />

type in the File name field.<br />

Figure 4.3-1 Example of Select File Dialog Box


4.4 Saving a File<br />

4.4 Saving a File<br />

There are two methods of saving a file: Saving by overwriting and saving with a new<br />

name.<br />

■ Save File Command<br />

The Save File command saves the currently opened file by writing its contents over the file<br />

saved under the same name.<br />

■ Save File As Command<br />

The Save File As command permits the user to save the currently opened file with a new name.<br />

If this command is chosen, the Save File As dialog box appears as follows:<br />

■ Confirmation Dialog Box<br />

Figure 4.4-1 Save File As Dialog Box<br />

The confirmation dialog box appears if:<br />

you have made changes in the currently opened edit window and choose the New Project<br />

command without saving the changes,<br />

you have made changes in the currently opened edit window and choose the Close Project<br />

command without saving the changes, or<br />

you have made changes in the currently opened edit window and choose the Quit C/<strong>C++</strong><br />

Analyzer command without saving the changes.<br />

Figure 4.4-2 Confirmation Dialog Box<br />

75


CHAPTER 4 FILE<br />

4.5 Adding or Deleting a File<br />

If the Add File in Project is chosen, the Select File dialog box appears.<br />

■ Adding a File in a Project<br />

Choose the Add File in Project from the File menu. The Select File dialog box appears. Specify<br />

the name of the program file to be added in a project in the dialog box.<br />

■ Select File Dialog Box<br />

Use the Select File dialog box to register an existing source program in a project. The following<br />

settings can be made in the dialog box:<br />

76<br />

❍ File name:<br />

Specify the name of the file to be added by entering it or selecting it from the list. The list box<br />

lists files having an identifier corresponding to the file type selected in the Files of type box.<br />

❍ Files of type:<br />

Select the type of file to be added. As default, the types of files that can be added are "*.cpp",<br />

"*.cxx", "*.cc" and "*.ipp". The user can also select "*.c", "*.i", "*.h", "*.hpp", "*.stk", and "*.*" as<br />

the types of files that can be added.<br />

❍ File Kind<br />

The kind of file independent of an extension can be set up.<br />

❍ Look in:<br />

Specify the folder storing the file to be added in this field.<br />

Figure 4.5-1 Select File Dialog Box


4.5 Adding or Deleting a File<br />

■ Deleting Files from a Project<br />

Choose the Delete File from Project in the File menu. The program files selected on the<br />

currently opened project window are deleted from the relevant project.<br />

If no program file is selected on the project window, all program files displayed on the project<br />

window are deleted from the relevant project.<br />

Reference:<br />

Figure 4.5-2 Confirmation Dialog Box<br />

The user can also add and delete files with corresponding commands in the pull-down<br />

menus on the project window. For details, see Section 7.4 "Project Window".<br />

77


CHAPTER 4 FILE<br />

78


CHAPTER 5 ANALYZE<br />

This chapter explains how to operate the Analyze functions.<br />

5.1 "Analyze Menu"<br />

5.2 "Setting Analysis Options"<br />

79


CHAPTER 5 ANALYZE<br />

5.1 Analyze Menu<br />

The user can start and stop analysis and set analysis options using the commands in<br />

the Analyze menu.<br />

Analyze menu commands are as follows:<br />

Re-Analyze command<br />

Analyze command<br />

Interrupt command<br />

Analysis Options command<br />

■ Analyze Menu<br />

Figure 5.1-1 "Analyze Menu" shows the Analyze menu.<br />

80<br />

Figure 5.1-1 Analyze Menu<br />

❍ Re-Analyze command<br />

The Re-Analyze function analyzes the source programs registered in a specified project to<br />

create analysis information.<br />

❍ Analyze command<br />

The Analyze function analyzes only modified source programs among source programs<br />

registered in a specified project to create analysis information.<br />

❍ Interrupt command<br />

The Interrupt function cancels analysis operations while in progress. If this command is chosen,<br />

the analysis information being created is deleted.<br />

❍ Analysis Options command<br />

The Analysis Options function permits the user to set optional information for analysis.


5.2 Setting Analysis Options<br />

This section explains how to set analysis options for the C/<strong>C++</strong> Analyzer.<br />

5.2 Setting Analysis Options<br />

■ Analysis Options Dialog Box<br />

Figure 5.2-1 "Analysis Options Dialog Box" shows the Analysis Options dialog box.<br />

■ General Mode<br />

Figure 5.2-1 Analysis Options Dialog Box<br />

The following options can be set in the Analysis Options dialog box:<br />

❍ Target Compiler<br />

Specify the compiler for the analysis target.<br />

❍ Chip Classification<br />

The family of MCU currently used is specified.<br />

81


CHAPTER 5 ANALYZE<br />

■ C/<strong>C++</strong> Options<br />

82<br />

❍ Target MCU<br />

Specify the type of MCU used. It is possible to input cpu type manually.<br />

❍ Call MUSC<br />

Specify the check option when using Max Used Stack Function.<br />

❍ Language Level<br />

Specify a language specification level of C/<strong>C++</strong> source program.<br />

❍ Warning Level<br />

Specify an output level for warning messages among the diagnostic messages to be output<br />

during the analysis of a source program.<br />

❍ Other Options<br />

Specify other options when passing the options directly to the analyzer.<br />

■ Maximum Number of Statements in an Inline Function<br />

Specify the maximum limit for the number of executable statements for the function that can be<br />

a candidate for inline function.<br />

■ Preprocessor Setting<br />

Set include paths and macro definitions.


5.2.1 General Mode<br />

5.2 Setting Analysis Options<br />

Use the General Mode items in the Analysis Options dialog box to specify the target of<br />

analysis.<br />

■ Target Compiler<br />

The user can specify one of following analysis methods.<br />

❍ fcc911s<br />

Specifies the analysis based on fcc911s.<br />

❍ fcc935s<br />

Specifies the analysis based on fcc935s.<br />

❍ ANSI<br />

Specifies the analysis strictly conforming th the ANSI Standard.<br />

■ Chip Classification<br />

Specify a MCU Family Name in the Chip Classification field by selection menu. The stack usage<br />

information file for the standard library function and predefined macros corresponding to the<br />

specified Chip Classification is selected.<br />

■ Target MCU<br />

Specify a MCU number in the MCU Type field by selection from menu or entry. The stack usage<br />

information file for the standard library function corresponding to the specified MCU is selected.<br />

The already defined macros corresponding to the specified MCU are also registered.<br />

■ Call MUSC<br />

If the Call Musc radio button is checked, the stack usage information file corresponding to the<br />

source program registered in the relevant project is selected.<br />

83


CHAPTER 5 ANALYZE<br />

5.2.2 C/<strong>C++</strong> Options<br />

The user can specify the following options in the Analysis Options dialog box:<br />

Language Level<br />

Warning Level<br />

Other Options<br />

■ Language Level<br />

The user can specify one of the following language specification levels of C/<strong>C++</strong> source<br />

program:<br />

84<br />

❍ ANSI+Extension<br />

"ANSI+Extension" specifies the new ANSI C/<strong>C++</strong> specifications, including extended<br />

specifications. The structure of a program whose operation varies depending on the language<br />

specification (new or old) is interpreted in conformance with ANSI C/<strong>C++</strong> specifications. The<br />

warning messages related to changes in the integer extension rules will be displayed on the<br />

Analysis Message window. On the other hand, the warning messages related to tri-graph<br />

sequences or added escape sequences will not be displayed.<br />

❍ Strict ANSI<br />

"Strict ANSI" specifies that related header files must much strictly conform to ANSI C/<strong>C++</strong><br />

specifications. However, the files can include those extended ANSI specifications that do not<br />

affect the program strictly conforming to ANSI C/<strong>C++</strong> specifications. For some of the extended<br />

specifications, warning messages will be displayed on the Analysis Message window. Among<br />

the identifiers in the standard header files, only those defined by the ANSI C/<strong>C++</strong> specifications<br />

are visible.<br />

❍ Embedded <strong>C++</strong><br />

"Embedded <strong>C++</strong>" specifies that <strong>C++</strong> source files are interpreted in conformance with the E<strong>C++</strong><br />

specifications. In addition to ordinary warning messages, extra warning messages will be<br />

output for the specifications out of the E<strong>C++</strong> specifications. Regarding C source files, the<br />

specification of "E<strong>C++</strong>" has the same meaning as the specification of "ANSI".<br />

■ Warning Level<br />

Specify an output level for warning messages among the diagnostic messages to be output<br />

during the analysis of a source program.<br />

The output level can be specified in the range from 0 to 8. Output levels 1 to 8 make no<br />

difference, but are prepared for compatibility with the Softune C Analyzer. If output level 0 is<br />

specified, the output of warning messages is suppressed. The default is output level 2.<br />

■ Other Options<br />

The user can specify the following options in the Other Options field:<br />

❍ -D name [= tokens]<br />

If this option is omitted, token 1 associates "name" with the specified tokens as the processing<br />

by the #define preprocessing instruction. This function gives "=tokens" as the result.


❍ -U name<br />

5.2 Setting Analysis Options<br />

This option invalidates the definition of "name" as the processing by the #under preprocessing<br />

instruction. If the same name is specified in both the -D and -U options, the specified name is<br />

not defined regardless of the order of the options.<br />

85


CHAPTER 5 ANALYZE<br />

5.2.3 Maximum Number of Statements in an Inline Function<br />

Specify the maximum limit for the number of executable statements of the function<br />

that can be a candidate for inline function. Specify it in the Maximum number of<br />

statements in an inline function field of the Analysis Options dialog box.<br />

■ Maximum Number of Statements in an Inline Function<br />

Conditions for the function that can be a candidate for inline function are as described below.<br />

The function is called by another function that is in a source program.<br />

The function is defined in a source program.<br />

The type and number of actual parameters for the function is the same as those of dummy<br />

parameters for the function.<br />

The parameters of the function do not have class attributes, structures, and unions.<br />

The function is not called recurrently.<br />

The function does not call a set jmp function.<br />

The function does not include try, throw, and catch blocks.<br />

The function is not a dummy function.<br />

The function is not called through reference to an address.<br />

The number of lines describing the function does not exceed the maximum number of<br />

statements in an inline function.<br />

Reference:<br />

86<br />

Specify the "maximum number of statements in an inline function" in consideration of the<br />

area to be used.


5.2.4 Pre-processor<br />

5.2 Setting Analysis Options<br />

If the Preprocessor button is clicked in the Analysis Options dialog box, the<br />

Preprocessor Settings dialog box appears. This dialog box has two setting screens:<br />

Include Paths and Macro Definition screens.<br />

■ Include Paths Screen of Preprocessor Settings Dialog Box<br />

Figure 5.2-2 "Include Paths Screen" shows the Include Paths screen.<br />

Figure 5.2-2 Include Paths Screen<br />

Items and buttons of the Include Paths screen are as follows:<br />

❍ Path<br />

This field shows the include path to be used for analysis.<br />

Registered include paths are shown in the List of registered paths and will be passed to the<br />

preprocessor sequentially from the top.<br />

❍ Browse button<br />

This button displays the window to select a path from existing include paths.<br />

The path selected on the window is shown in the Path field.<br />

87


CHAPTER 5 ANALYZE<br />

88<br />

❍ Add button<br />

This button adds the include path shown in the Path field in the List of registered paths box.<br />

❍ Delete button<br />

This button deletes a selected include path from the List of registered paths box.<br />

❍ Move Upward button<br />

This button shifts the selected include path upward with one line which is in the List of registered<br />

paths displayed in the box.<br />

❍ Move Downward button<br />

This button shifts the selected include path downward with one line which is in the List of<br />

registered paths displayed in the box.<br />

❍ Recognize lines starting with // as comment in C source<br />

The comment on C/<strong>C++</strong> style can be treated in the source file.<br />

The comment on /**/ style and the comment on // style can be written.<br />

■ Macro Definition Screen of Preprocessor Settings Dialog Box<br />

Figure 5.2-3 "Macro Definition Screen" shows the Macro Definition screen.<br />

Figure 5.2-3 Macro Definition Screen<br />

Items and buttons of the Macro Definition screen are as follows:<br />

❍ Name<br />

This field permits the user to specify the name of the macro to be registered for analysis.


❍ Value<br />

This field permits the user to enter the value of the macro.<br />

5.2 Setting Analysis Options<br />

❍ List of Registered Macro Definition<br />

This box lists registered macro names.<br />

Listed registered macros will be passed to the preprocessor sequentially from the top.<br />

❍ Add button<br />

This button adds the macro specified in the Name field in the List of Registered Macro Definition<br />

box.<br />

❍ Delete button<br />

This button deletes a selected macro from the List of Registered Macro Definition box.<br />

❍ Move Upward button<br />

This button shifts the selected macro upward with one line which is in the List of Registered<br />

Macro Definition displayed in the box.<br />

❍ Move Downward button<br />

This button shifts the selected macro downward with one line which is in the List of Registered<br />

Macro Definition displayed in the box.<br />

❍ Recognize lines starting with // as comment in C source<br />

The comment on C/<strong>C++</strong> style can be treated in the source file.<br />

The comment on /**/ style and the comment on // style can be written.<br />

89


CHAPTER 5 ANALYZE<br />

90


CHAPTER 6 EDIT<br />

This chapter explains how to operate the Edit functions.<br />

6.1 "Edit Menu"<br />

91


CHAPTER 6 EDIT<br />

6.1 Edit Menu<br />

The commands in the Edit menus are as follows:<br />

Undo command<br />

Cut command<br />

Copy command<br />

Paste command<br />

Select All command<br />

Find command<br />

Replace command<br />

Find in Files command<br />

■ Edit Menu<br />

92<br />

Figure 6.1-1 "Edit Menu" shows the Edit menu.<br />

Figure 6.1-1 Edit Menu<br />

❍ Undo command<br />

The Undo command cancels the previous file editing operation performed on the currently<br />

displayed edit window and restores the relevant file to the status prior to the file editing<br />

operation.<br />

❍ Cut command<br />

The Cut command cuts out currently selected data from the relevant file and saves the data on<br />

the clipboard during file editing. If no data is selected, this command is invalid. The data<br />

already saved on the clipboard is replaced with the data newly saved by the Cut command.<br />

❍ Copy command<br />

The Copy command copies currently selected data on the clipboard during file editing. If no<br />

data is selected, this command is invalid. The data already copied on the clipboard is replaced<br />

with the data newly copied by the Copy command.<br />

❍ Paste command<br />

The Paste command inserts the content of the clipboard in the position indicated by the cursor<br />

during file editing. If no data is found on the clipboard, this command is invalid.


6.1 Edit Menu<br />

❍ Select All command<br />

The Select All command selects all data displayed on a specified window.<br />

Note:<br />

The Edit menu described above is valid only when the internal editor is used. Choose the<br />

Editor Customize command from the Setup menu to display the CUSTOMIZE dialog box and<br />

check whether the Use External Editor check box has a check mark. If the Editor has a<br />

check mark, the internal editor is not used.<br />

❍ Find command<br />

If you choose the Find command from the Edit menu when an edit window is active, the Find in<br />

Current File dialog box appears.<br />

The following conditions can be set in the Find in Current File dialog box:<br />

Find What<br />

Match Whole Word Only<br />

Match Case<br />

Normal Expression<br />

Ambiguous Expression<br />

Direction<br />

Position<br />

Figure 6.1-2 "Find in Current File Dialog Box (Edit Window)" shows an example of a display of<br />

the Find in Current File dialog box for the analysis window.<br />

Figure 6.1-2 Find in Current File Dialog Box (Edit Window)<br />

93


CHAPTER 6 EDIT<br />

94<br />

❍ Replace command<br />

The Replace command permits the user to replace a specified character string with a new<br />

character string on an edit window.<br />

If you choose the Replace command, the Replace dialog box appears. On the Replace dialog<br />

box, enter the character string to be replaced in the Find What field and the character string to<br />

replace it in the Replace With field.<br />

The following conditions can be set in the Replace dialog box:<br />

Find What<br />

Replace With<br />

Match Whole Word Only<br />

Match Case<br />

Normal Expression<br />

Ambiguous Expression<br />

Direction<br />

Position<br />

Figure 6.1-3 "Replace Dialog Box (Edit Window)" shows an example of a display of the Replace<br />

dialog box.<br />

Figure 6.1-3 Replace Dialog Box (Edit window)


6.1 Edit Menu<br />

❍ Find in Files command<br />

If you choose the Find in Files command from the Edit menu when an edit window is active, the<br />

Find in Files dialog box appears.<br />

The following conditions can be set in the Find in Files dialog box:<br />

Find What<br />

In files<br />

In folder<br />

Match whole word only<br />

Match case<br />

Figure 6.1-4 "Find in Files Dialog Box" shows an example of a display of the Find in file dialog<br />

box.<br />

Figure 6.1-4 Find in Files Dialog Box<br />

95


CHAPTER 6 EDIT<br />

96


CHAPTER 7 VIEW<br />

This chapter explains how to operate the View functions.<br />

7.1 "View Menu"<br />

7.2 "Tool Bar"<br />

7.3 "Status Bar"<br />

7.4 "Project Window"<br />

7.5 "Analysis Message Window"<br />

7.6 "Analysis Information (Graph Flow)"<br />

7.7 "Analysis Information (Tree View)"<br />

7.8 "Class Information"<br />

7.9 "Name Space"<br />

7.10 "Function List"<br />

7.11 "Max Used Stack"<br />

7.12 "Find"<br />

97


CHAPTER 7 VIEW<br />

7.1 View Menu<br />

You can display the tool bar, status bar, project window, analysis message window,<br />

graph flow, class inheritance diagram, logic flow, and other information using the<br />

commands in the View menu.<br />

View menu commands are as follows:<br />

Tool Bar command<br />

Status Bar command<br />

Project command<br />

Message Bar command<br />

Class Hierarchy command<br />

Class Name List command<br />

Name Spaces command<br />

Name Space Contents command<br />

Analysis Information (Graph Flow) command<br />

Analysis Information (Tree View) command<br />

Function List command<br />

Max Used Stack command<br />

Max Used Stack Route command<br />

Find command<br />

Find Prev command<br />

Find Next command<br />

■ View Menu<br />

98<br />

The commands in the View menu are explained as follows:<br />

❍ Tool Bar command<br />

The Tool Bar command displays or hides the tool bar. When the tool bar is on display, a check<br />

mark is displayed to the left of the command name.<br />

❍ Status Bar command<br />

The Status Bar command displays or hides the status bar. The status bar displays a brief<br />

explanation of a menu command or tool bar button when it is selected, or displays the status of<br />

a special key on the keyboard whether it is pressed being on or off. When the status bar is on<br />

display, a check mark is displayed to the left of the command name.<br />

❍ Project command<br />

The Project command displays or hides a project window. When a project window is on display,<br />

a check mark is displayed to the left of the command name.


7.1 View Menu<br />

❍ Message Bar command<br />

The Message Bar command displays or hides the analysis message window. When the<br />

analysis message window is on display, a check mark is displayed to the left of the command<br />

name.<br />

❍ Class Hierarchy command<br />

The Class Hierarchy command displays the inheritance relationships among the classes of <strong>C++</strong><br />

source programs.<br />

❍ Class Name List command<br />

The Class Name List command displays a list of the class names for <strong>C++</strong> source programs.<br />

This command is valid only when a class inheritance diagram is displayed.<br />

❍ Name Spaces command<br />

The Name Spaces command displays a list of the name spaces used by source programs.<br />

❍ Name Space Contents command<br />

The Name Space Contents command displays detailed information on a specified name space.<br />

❍ Analysis Information (Graph Flow) command<br />

The Analysis Information (Graph Flow) command displays the call relationships among the<br />

functions in a source program on a Graph Flow window.<br />

❍ Analysis Information (Tree View) command<br />

The Analysis Information (Tree View) command displays the call relationships among the<br />

functions in a source program on a Call Tree window.<br />

❍ Function List command<br />

The Function List command displays a list of the functions used by a source program.<br />

❍ Max Used Stack command<br />

The Max Used Stack command displays information on the maximum used stack in each<br />

function box displayed on a Graph Flow window.<br />

❍ Max Used Stack Route command<br />

The Max Used Stack Route command displays the maximum used stack route for the function<br />

boxes on a Graph Flow window.<br />

❍ Find command<br />

The Find command displays the Find dialog box to permit the user to search data on a specified<br />

analysis window and locate a specified character string.<br />

❍ Find Prev command<br />

The Find Prev command searches data in a backward direction on a selected analysis window<br />

to locate the character string specified with the previously executed Find command.<br />

❍ Find Next command<br />

The Find Next command searches data in a forward direction on a selected analysis window to<br />

locate the character string specified with the previously executed Find command.<br />

99


CHAPTER 7 VIEW<br />

7.2 Tool Bar<br />

The tool bar is displayed above the menu bar at the top of the application window. The<br />

tool bar contains buttons for the tools of the C/<strong>C++</strong> Analyzer. To use a tool, click the<br />

left side of the mouse on the corresponding tool button.<br />

■ Tool Bar<br />

100<br />

Figure 7.2-1 "Example of a Tool Bar" shows an example of a tool bar.<br />

Figure 7.2-1 Example of a Tool Bar<br />

Figure 7.2-2 Example of a Tool Bar (Display control bar)<br />

The display control bar is used to specify the default window after analysis is finished. The<br />

Analysis Information (Graph Flow), The Analysis Information (Tree View), or Class Hierarchy<br />

can be selected.


7.3 Status Bar<br />

7.3 Status Bar<br />

The status bar is displayed at the bottom of each window f the C/<strong>C++</strong> Analyzer.<br />

You can display or hide the status bar with the Status Bar command in the View menu.<br />

■ Status Bar<br />

Figure 7.3-1 "Example of Status Bar" shows an example of a status bar.<br />

Figure 7.3-1 Example of Status Bar<br />

The status bar displays a brief explanation of a menu command when the command is selected.<br />

It also displays a brief explanation of a tool when the button is held down on the tool bar. If you<br />

cancel the tool after reading the explanation, move the mouse pointer outside the tool button,<br />

then release the mouse button.<br />

101


CHAPTER 7 VIEW<br />

7.4 Project Window<br />

Use the project window to manage the source and stack information files registered in<br />

the relevant project.<br />

■ Project Window<br />

Figure 7.4-1 "Example of Project Window" shows an example of a source file display on the<br />

project window.<br />

102<br />

Figure 7.4-1 Example of Project Window<br />

The project window uses Source Files, Include Files, and Stack Files folders to register files.<br />

❍ Source Files folder<br />

This folder is used to register selected source files.<br />

❍ Include Files folder<br />

This folder is used to register selected include files and include files dependent on registered<br />

source files.<br />

❍ Stack Files folder<br />

This folder is used to register the stack information files (stk) corresponding to selected source<br />

files. The stack information files to be registered can also be selected.<br />

❍ Pop-up menu<br />

If you position the mouse cursor inside the project window and click the right button of the<br />

mouse, a pop-up menu appears.<br />

The pop-up menu has the following commands:


7.4 Project Window<br />

Add Files: Registers additional source files or stack information files in the project.<br />

Remove Files: Deletes selected registered source files or stack information files from the<br />

project.<br />

Edit File: Allows you to edit the source file selected on the project window.<br />

Hide Window: Hides the project window.<br />

Docking: Permits project window docking with another window or restores it to the original<br />

size.<br />

File Property: Displays the File Property dialog box showing a time stamp and path<br />

information on a specified file.<br />

Figure 7.4-2 File Property Dialog Box<br />

Figure 7.4-3 Example of a Pop-up Menu on the Project Window<br />

103


CHAPTER 7 VIEW<br />

7.5 Analysis Message Window<br />

The analysis message window shows simple analysis messages.<br />

■ Analysis Message Window<br />

The analysis message window displays simple analysis messages after analysis. Figure 7.5-1<br />

"Example of a Message Display on the Analysis Message Window" shows an example of a<br />

message display on the analysis message window.<br />

104<br />

Figure 7.5-1 Example of a Message Display on the Analysis Message Window<br />

The analysis message window displays analysis messages and has the following functions:<br />

❍ Jump to indicated line<br />

If you click the left side of the mouse on a file name in an analysis message, you can jump to<br />

the line indicated by the analysis message.<br />

If the file has not been opened, the file is opened before jumping.<br />

❍ Pop-up menu<br />

You can display a pop-up menu and use the following commands:<br />

Select All: Selects all character strings on the analysis message window.<br />

Copy: Saves the character strings selected on the analysis message window to the<br />

clipboard.<br />

Clear: Clears the display contents of the analysis message window.<br />

Find: Displays the Find dialog box that permits the user to search data on the analysis<br />

message window and locate a specified character string.<br />

Figure 7.5-2 Message Find Dialog Box<br />

Show/Hide Window: Displays or hides the analysis message window.<br />

Docking: Permits analysis window docking with the main window or restores it to the original<br />

size.


7.5 Analysis Message Window<br />

Save Text File: Displays the Save Text File dialog box that permits the user to save the<br />

character strings displayed on the analysis message window as a text file.<br />

Figure 7.5-3 Save Text File Dialog Box<br />

Figure 7.5-4 Example of a Pop-up Menu on the Analysis Message Window<br />

105


CHAPTER 7 VIEW<br />

7.6 Analysis Information (Graph Flow)<br />

The Analysis Information (Graph Flow) command displays the call relationships<br />

among functions in graph form on a Graph Flow window. The Graph Flow window has<br />

the following functions:<br />

Focus<br />

Logic flow<br />

Summary information<br />

Xreference<br />

Max used stack<br />

■ Graph Flow Window<br />

When the analysis of a source program ends normally, a Graph Flow window is displayed<br />

automatically. For a project already analyzed, you can display the relevant Graph Flow window<br />

with the Analysis Information (Graph Flow) in the View menu.<br />

Figure 7.6-1 "Example of Graph Flow Window" shows an example of display on the Graph Flow<br />

window.<br />

106<br />

Figure 7.6-1 Example of Graph Flow Window<br />

The Graph Flow window has the following functions:<br />

❍ Focus function<br />

The Focus function focuses on a specified function on the Graph Flow window. You can select<br />

the functions that are called or call a specified function for display using the Focus function.<br />

For details on the Focus function, see CHAPTER 14 "GRAPH FLOW".


7.6 Analysis Information (Graph Flow)<br />

❍ Logic Flow function<br />

The Logic Flow function visibly displays the internal structure of a function specified on the<br />

Graph Flow window. You can control the display of the control structure of if, for, and other<br />

statements, comment lines, and include files.<br />

For details on the Logic Flow function, see CHAPTER 18 "LOGIC FLOW".<br />

❍ Summary Information function<br />

The Summary Information function displays the summary information on a function specified on<br />

the Graph Flow window.<br />

You can display information on the characteristics of a specified function, including the name of<br />

the function the specified function calls, the name of the function calling the specified function,<br />

and the number of if, for, and other statements appearing in the function.<br />

For details on the Summary Information function, see CHAPTER 19 "SUMMARY".<br />

❍ Xreference function<br />

The Xreference function displays Xreference information on a function specified on the Graph<br />

Flow window, including the variables and functions used in the specified function and the<br />

definition status of tags and macros.<br />

For details on the Xreference function, see CHAPTER 20 "CROSS REFERRENCE".<br />

❍ Max Used Stack function<br />

The Max Used Stack function displays stack usage information on each function displayed on<br />

the Graph Flow window.<br />

For details on the Max Used Stack function, see CHAPTER 22 "MAX USED STACK".<br />

107


CHAPTER 7 VIEW<br />

7.7 Analysis Information (Tree View)<br />

The Analysis Information (Tree View) command displays the call relationships among<br />

functions in list form on a Call Tree window.<br />

■ Call Tree Window<br />

The Call Tree window displays the call relationships among functions, the type of information,<br />

and the logical number of lines of each function in list form. Figure 7.7-1 "Example of a Call<br />

Tree Window" shows an example of a display on the Call Tree window.<br />

108<br />

Figure 7.7-1 Example of a Call Tree Window<br />

❍ Parameter information<br />

The Call Tree window displays the number of parameters, the type of information, and the name<br />

of the function.<br />

❍ Logical number of lines<br />

The Call Tree window displays the number of logical lines and the name of the function.<br />

■ Pop-up Menu on the Call Tree Window<br />

The pop-up menu that can be displayed on the Call Tree window has the following commands:<br />

❍ Open All command<br />

This command opens all call relationships among functions on display.<br />

❍ Close All command<br />

This command closes all call relationships among functions on display.<br />

❍ Find command<br />

This command permits the user to search the function names on the Call Tree window and<br />

locate a specified function name.<br />

❍ Open The File command<br />

This command opens the source file that includes a specified function call section on an edit


window.<br />

7.7 Analysis Information (Tree View)<br />

❍ Logic Flow command<br />

This command displays the source file that includes a specified function call section on a Logic<br />

Flow window.<br />

❍ Summary command<br />

This command displays summary information on a specified function.<br />

❍ Xreference command<br />

This command displays Xreference information on a specified function.<br />

Figure 7.7-2 Example of a Pop-up Menu on the Call Tree Window<br />

109


CHAPTER 7 VIEW<br />

7.8 Class Information<br />

The Class Information function displays a class inheritance diagram showing the<br />

inheritance relationships among classes, class lists, and other information as follows:<br />

Focus function<br />

Class summary information<br />

Class inheritance information<br />

Class usage information<br />

Friend information<br />

Class list<br />

■ Focus Function<br />

The Focus function focuses on a class or class inheritance relationship in the class inheritance<br />

diagram on display.<br />

The following Focus commands are available:<br />

110<br />

❍ Focus (Base)<br />

This command focuses on all base classes of a specified class.<br />

❍ Focus (Derived)<br />

This command focuses on all derived classes of a specified class.<br />

❍ Focus (Base & Derived)<br />

This command displays inheritance relationships among all base and derived classes of a<br />

specified class.<br />

❍ Focus (1 Level)<br />

This command displays inheritance relationships among base and derived classes of a<br />

specified class in a single level.<br />

■ Class Summary Information<br />

Class summary information provides class type, member data, and other information on a<br />

specified class.<br />

■ Class Inheritance Information<br />

Class inheritance information provides inheritance information and base class information on a<br />

specified class.<br />

■ Class Usage Information<br />

Class usage information provides information on how a specified class has been referenced and<br />

used.


■ Friend Information<br />

Friend information provides friend information on a specified class.<br />

■ Class List<br />

The class list shows the class names used in source programs in list form.<br />

7.8 Class Information<br />

111


CHAPTER 7 VIEW<br />

7.9 Name Space<br />

The Name Space function displays information on the name spaces used in source<br />

programs.<br />

■ Name Space Information<br />

Name space information provides information on the name spaces used in a specified source<br />

program.<br />

■ Name Space Contents<br />

112<br />

Name space contents provide detailed information on a specified name space. The information<br />

includes the member name and alias definition of the name space.


7.10 Function List<br />

7.10 Function List<br />

The Function List functions displays the function names defined in a source program<br />

in list form on the Function List window.<br />

■ Function List Window<br />

The Function List window displays the names of analyzed functions and the names of the<br />

source files in which they are defined. If a function name is clicked, the color of the frame of the<br />

relevant function box on the Graph Flow window changes to red. If a function name is doubleclicked,<br />

logic flow information on the relevant function is displayed. Figure 7.10-1 "Example of<br />

Function List Window" shows an example of a display on the Function List window.<br />

Figure 7.10-1 Example of Function List Window<br />

The Function List window has the following functions:<br />

❍ Contents of display<br />

[T] attribute: "T" indicates that the function is at the top level and has no caller.<br />

Function name: This column shows the name of the function.<br />

File name: This column shows the name of the source file where the respective function is<br />

defined.<br />

Call count: This column shows the number of functions the respective function calls.<br />

Nest level: This column shows the hierarchical level of function calling.<br />

113


CHAPTER 7 VIEW<br />

114<br />

❍ Pop-up menu<br />

Graph Flow [Callee]: This command displays a selected function by the Focus [Callee]<br />

function on the Graph Flow window.<br />

Graph Flow [Caller]: This command displays a selected function by the Focus [Callee &<br />

Caller] function on the Graph Flow window.<br />

Show [All Functions]: This command displays all functions on the Function List window.<br />

Show [Top Level]: This command displays the top-level functions that are not called by<br />

another function on the Function List window.<br />

Open the File: This command displays the edit window for a selected function.<br />

Logic Flow: This command displays the Logic Flow window for a selected function.<br />

Figure 7.10-2 Example of a Pop-up Menu on the Function List Window.


7.11 Max Used Stack<br />

7.11 Max Used Stack<br />

The Max Used Stack function displays information on a maximum used stack on a<br />

Graph Flow window:<br />

Max Used Stack<br />

Max Used Stack Route<br />

■ Max Used Stack Command<br />

The Max Used Stack command displays information on a maximum used stack in each function<br />

box on a Graph Flow window so as to provide maximum used stack information on the<br />

application and each function.<br />

■ Max Used Stack Route Command<br />

The Max Used Stack Route command displays the maximum used stack route based on the<br />

calculation of a maximum used stack in the function-call relation display on the Graph Flow<br />

window so as to provide the functions that determine the maximum used stack for the<br />

application and each function as a route.<br />

For details on the Max Used Stack function, see CHAPTER 22 "MAX USED STACK".<br />

Note:<br />

To calculate the maximum size of stack used, the user must create a stack information file<br />

for each C/<strong>C++</strong> source file with the compilation function of the C/<strong>C++</strong> Analyzer.<br />

115


CHAPTER 7 VIEW<br />

7.12 Find<br />

The Find function permits the user to search data on an active analysis window or edit<br />

window and locate a specified character string.<br />

Find<br />

Find Prev<br />

Find Next<br />

Replace<br />

Find in Files<br />

■ Locate Operations on an Analysis Window<br />

116<br />

❍ Find<br />

If you choose the Find command from the View menu when an analysis window is active, the<br />

Find dialog box appears.<br />

The following conditions can be set in the Find dialog box:<br />

Find What<br />

Match Case<br />

Direction<br />

Figure 7.12-1 "Find Dialog Box (Analysis Window)" shows an example of a display of the Find<br />

dialog box for the analysis window.<br />

Figure 7.12-1 Find Dialog Box (Analysis Window)<br />

❍ Find Prev<br />

The Find Prev command searches data in backward direction on the analysis window to locate<br />

a specified character string.<br />

❍ Find Next<br />

The Find Prev command searches data in forward direction on the analysis window to locate a<br />

specified character string.<br />

■ Find Operations on an Edit Window


7.12 Find<br />

❍ Find<br />

If you choose the Find command from the View menu when an edit window is active, the Find in<br />

Current File dialog box appears.<br />

The following conditions can be set in the Find in Current File dialog box:<br />

Find What<br />

Match Whole Word Only<br />

Match Case<br />

Normal Expression<br />

Ambiguous Expression<br />

Direction<br />

Position<br />

Figure 7.12-2 "Find in Current File Dialog Box (Edit Window)" shows an example of a display of<br />

the Find in Current File dialog box for the analysis window.<br />

Figure 7.12-2 Find in Current File Dialog Box (Edit Window)<br />

❍ Replace<br />

The Replace command permits the user to replace a specified character string with a new<br />

character string on an edit window.<br />

If you choose the Replace command, the Replace dialog box appears. On the Replace dialog<br />

box, enter the character string to be replaced in the Find What field and the character string to<br />

replace it in the Replace With field.<br />

If you choose the Replace command when an edit window is active, the Replace dialog box<br />

appears.<br />

The following conditions can be set in the Replace dialog box:<br />

Find What<br />

Replace With<br />

Match Whole Word Only<br />

Match Case<br />

Normal Expression<br />

Ambiguous Expression<br />

Direction<br />

Position<br />

Figure 7.12-3 "Replace Dialog Box (Edit Window)" shows an example of a display of the<br />

Replace dialog box.<br />

117


CHAPTER 7 VIEW<br />

118<br />

Figure 7.12-3 Replace Dialog Box (Edit Window)<br />

❍ Find in Files<br />

If you choose the Find in Files command from the Edit menu when an edit window is active, the<br />

Find in Files dialog box appears.<br />

The following conditions can be set in the Find in Files dialog box:<br />

Find What<br />

In files<br />

In folder<br />

Match whole word only<br />

Match case<br />

Figure 7.12-4 "Find in Files Dialog Box" shows an example of a display of the Find in file dialog<br />

box.<br />

Figure 7.12-4 Find in Files Dialog Box


CHAPTER 8 COMPILE<br />

This chapter explains the Compile functions.<br />

8.1 "Compile Menu"<br />

8.2 "Setting Options for fcc911s"<br />

8.3 "Setting Options for fcc935s"<br />

8.4 "Setting up ANSI C/<strong>C++</strong> Compiler Options"<br />

119


CHAPTER 8 COMPILE<br />

8.1 Compile Menu<br />

You can compile source programs registered in a project using the following<br />

commands in the Compile menu:<br />

Start Compilation command<br />

Interrupt Compilation command<br />

Option command<br />

■ Compile Menu<br />

Figure 8.1-1 "Compile Menu" shows the Compile menu.<br />

120<br />

Figure 8.1-1 Compile Menu<br />

❍ Start Compilation command<br />

The Start Compilation command starts compilation of source programs registered in a specified<br />

project.<br />

❍ Interrupt Compilation command<br />

The Interrupt Compilation command cancels the compilation operation in progress.<br />

❍ Option command<br />

The Option command permits the user to set options for the compiler.


8.2 Setting Options for fcc911s<br />

8.2 Setting Options for fcc911s<br />

This section explains how to set compilation options for the fcc911s compiler.<br />

■ Compile Option Dialog Box for fcc911s<br />

Figure 8.2-1 "Compile Option Dialog Box for fcc911s" shows the Compile Option dialog box for<br />

the fcc911s compiler.<br />

Figure 8.2-1 Compile Option Dialog Box for fcc911s<br />

The following settings can be made in the Compile Option dialog box:<br />

❍ Target Compiler<br />

One of the following two types of compiler can be specified.<br />

C/<strong>C++</strong> compiler (fcc911s) for the <strong>FR</strong> Family<br />

C/<strong>C++</strong> compiler (fcc935s) for the <strong>FR</strong>-V Family<br />

ANSI C/<strong>C++</strong> compiler<br />

121


CHAPTER 8 COMPILE<br />

122<br />

❍ Translation Controller<br />

One of the following two ranges of compilation can be specified. The default is the execution of<br />

processes up to compilation.<br />

Only Pre-Processing: Translation processes up to preprocessing are executed.<br />

Run Compilation: Translation processes up to compilation are executed.<br />

❍ Chip Classifcation<br />

The Family Name of your MCU can be specified.<br />

❍ Optimization Level<br />

One of the following seven optimization levels can be specified. The default is level 2.<br />

None: No optimization<br />

Level 1: Optimization in level 1<br />

Level 2: Optimization in level 2<br />

Level 3: Optimization in level 3<br />

Level 4: Optimization in level 4<br />

Priority to speed: Optimization with priority to speed<br />

Priority to size: Optimization with priority to size<br />

❍ Warning Level<br />

One of the following nine warning levels can be specified.<br />

The default is level 1.<br />

Level 0: No output of warning messages<br />

Level 1: Output of warning messages in level 1<br />

Level 2: Output of warning messages in level 2<br />

Level 3: Output of warning messages in level 3<br />

Level 4: Output of warning messages in level 4<br />

Level 5: Output of warning messages in level 5<br />

Level 6: Output of warning messages in level 6<br />

Level 7: Output of warning messages in level 7<br />

Level 8: Output of warning messages in level 8<br />

❍ Target MCU<br />

One of the MCU Number can be specified.<br />

❍ Output DEBUG information<br />

You can specify whether to output debug information. The default is no output.<br />

❍ Not reading default option file<br />

You can specify whether to read the default option file. The default is no reading.<br />

❍ Output STACK information<br />

You can specify whether to output a stack information file. The default is no output.


8.2 Setting Options for fcc911s<br />

❍ Details<br />

Preprocessor: Specifies the setting of detailed options for the preprocessor.<br />

Language: Specifies the setting of detailed options for language specifications.<br />

Optimization: Specifies the setting of detailed options for optimization.<br />

Output: Specifies the setting of detailed options for output.<br />

❍ Other Options’ Description<br />

Other options available for the compiler can be entered in this field.<br />

❍ Buttons<br />

Confirm button: Permits the user to check the settings of compiler options.<br />

OK button: Validates the settings made in the dialog box.<br />

Cancel button: Cancels the settings made in the dialog box.<br />

Help button: Displays help information.<br />

123


CHAPTER 8 COMPILE<br />

8.2.1 Detailed Options for Preprocessor (fcc911s Compiler)<br />

This section explains how to set detailed options for the preprocessor of the fcc911s<br />

compiler using the Preprocessor - fcc911s Compiler dialog box. This dialog box has<br />

two setting screens: Include Paths and Macro Definition screens.<br />

■ Include Paths Screen of Preprocessor - fcc911s Compiler Dialog Box<br />

Figure 8.2-2 "Include Paths Screen" shows the Include Paths screen.<br />

124<br />

Figure 8.2-2 Include Paths Screen<br />

❍ Path field<br />

This field shows the include path to be used for compilation.<br />

❍ List of registered include paths list box<br />

This box lists registered include paths.<br />

The registered include paths will be passed to the preprocessor sequentially from the top in this<br />

box.


❍ Browse button<br />

This button displays the window to select a path from existing include paths.<br />

The path selected on the window is displayed in the Path field.<br />

8.2 Setting Options for fcc911s<br />

❍ Add button<br />

This button adds the include path shown in the Path field in the List of registered paths box.<br />

❍ Delete button<br />

This button deletes a selected include path from the List of registered paths box.<br />

❍ Move Upward button<br />

This button moves the order of a selected include path, which is registered in the List of<br />

registered paths box, one place up.<br />

❍ Move Downward button<br />

This button moves the order of a selected include path, which is registered in the List of<br />

registered paths box, one place down.<br />

❍ Recognize lines starting with // as comment in C source<br />

The comment on C/<strong>C++</strong> style can be treated in the source file.<br />

The comment on /**/ style and the comment on // style can be written.<br />

❍ Leave a comment in the preprocessing result check box<br />

If this check box is clicked, a comment can be left in the preprocessing result.<br />

125


CHAPTER 8 COMPILE<br />

■ Macro Definition Screen of Preprocessor - fcc911s Compiler Dialog Box<br />

Figure 8.2-3 "Macro Definition Screen" shows the Macro Definition screen.<br />

126<br />

Figure 8.2-3 Macro Definition Screen<br />

Items and buttons of the Macro Definition screen are as follows:<br />

❍ Name field<br />

This field permits the user to specify the name of the macro to be registered for compilation.<br />

❍ Value field<br />

This field permits the user to enter the value of the macro.<br />

❍ List of Registered Macro Definition list box<br />

This box lists registered macro names.<br />

The registered macros will be passed to the preprocessor sequentially from the top in this list<br />

box.<br />

❍ Add button<br />

This button adds the macro specified in the Name field in the List of Registered Macro Definition<br />

box.<br />

❍ Delete button<br />

This button deletes a selected macro from the List of Registered Macro Definition box.


8.2 Setting Options for fcc911s<br />

❍ Move Upward button<br />

This button moves the order of a selected macro, which is registered in the List of Registered<br />

Macro Definition box, one place up.<br />

❍ Move Downward button<br />

This button moves the order of a selected macro, which is registered in the List of Registered<br />

Macro Definition box, one place down.<br />

❍ Recognize lines starting with // as comment in C source<br />

The comment on C/<strong>C++</strong> style can be treated in the source file.<br />

The comment on /**/ style and the comment on // style can be written.<br />

❍ Leave a comment in the preprocessing result check box<br />

If this check box is clicked, a comment can be left in the preprocessing result.<br />

127


CHAPTER 8 COMPILE<br />

8.2.2 Detailed Options for Language Specifications (fcc911s<br />

Compiler)<br />

This section explains how to set the detailed options for the language specifications of<br />

the fcc911s compiler using the Specification of Language - fcc911s Compiler dialog<br />

box.<br />

■ Specification of Language - fcc911s Compiler Dialog Box<br />

Figure 8.2-4 "Specification of Language - fcc911s Compiler Dialog Box" shows the Specification<br />

of Language - fcc911s Compiler dialog box.<br />

128<br />

Figure 8.2-4 Specification of Language - fcc911s Compiler Dialog Box<br />

The following items can be set in the Specification of Language - fcc911s Compiler dialog box:<br />

❍ Sign of plain "char"<br />

An unsigned or signed format can be selected for character-type data.<br />

The default is "Unsigned."<br />

❍ Sign of bit field of "int"<br />

An unsigned or signed format can be selected for integer-type bit field.<br />

The default is "Unsigned."<br />

❍ Language<br />

You can specify the level of language specification.<br />

The default is "Embedded <strong>C++</strong>."<br />

❍ INLINE expansion of a function qualified with "_interrupt"<br />

You can specify whether to execute inline expansion of the function related to interrupt. The<br />

default is execution of inline expansion (a check mark is displayed).


8.2 Setting Options for fcc911s<br />

❍ Regard a valuable qualified with "_io" as volatile<br />

You can specify whether to regard each "_io" type qualifier to be volatile. The default is<br />

regarding it to be volatile (a check mark is displayed).<br />

❍ INLINE expansion of an ITRON system-call functions<br />

You can specify whether to execute inline expansion of the function related to interrupt. The<br />

default is non-execution of inline expansion (no check mark is displayed).<br />

129


CHAPTER 8 COMPILE<br />

8.2.3 Detailed Options for Optimization (fcc911s Compiler)<br />

This section explains how to set the detailed optimization options for the fcc911s<br />

compiler using the Option on Optimization [fcc911s] - fcc911s Compiler dialog box.<br />

■ Option on Optimization [fcc911s] - fcc911s Compiler Dialog Box<br />

Figure 8.2-5 "Option on Optimization [fcc911s] - fcc911s Compiler Dialog Box" shows the<br />

Option on Optimization [fcc911s] - fcc911s Compiler dialog box.<br />

130<br />

Figure 8.2-5 Option on Optimization [fcc911s] - fcc911s Compiler Dialog Box<br />

The following items can be set in the Option on Optimization [fcc911s] - fcc911s Compiler dialog<br />

box:<br />

❍ Address size of external symbols on the code section<br />

You can specify the address size of the external symbols on the code section. The default is<br />

"32 bits."


8.2 Setting Options for fcc911s<br />

❍ Address size of external symbols on data section<br />

You can specify the address size of the external symbols on the data section. The default is "32<br />

bits."<br />

❍ Minimal alignment boundary for static variables<br />

You can specify the value of the minimal alignment boundary for static variables. The default is<br />

"1 byte."<br />

❍ Method of allocation of an argument area<br />

You can specify the static or dynamic method for the allocation of an argument area. The<br />

default is "static."<br />

❍ Type of floating constant without suffix<br />

You can specify the type of the floating constant without suffix. The default is "double."<br />

❍ Optimization of changing the evaluation method of arithmetic operation<br />

You can specify whether to execute optimization to change the method of evaluating arithmetic<br />

operations. The default is non-execution of the optimization (no check mark is displayed).<br />

❍ Optimization of pointer aliasing<br />

You can specify whether to execute optimization of the data indicated by the pointer. The<br />

default is execution of optimization (a check mark is displayed).<br />

❍ Instruction scheduling<br />

You can specify whether to execute instruction scheduling. The default is execution of<br />

scheduling (a check mark is displayed).<br />

❍ Loop unrolling<br />

You can specify whether to execute loop unrolling. The default is execution of loop unrolling (a<br />

check mark is displayed).<br />

❍ Inline expansion of standard library functions/replacement to other equivalent functions<br />

You can specify whether to execute inline expansion of standard functions or replacement with<br />

other functions. The default is no execution of inline expansion or replacement (no check mark<br />

is displayed).<br />

❍ Specified functions<br />

If you have turned on this check box, specify the functions as the targets of inline expansion in<br />

the field below. The default of this item is "off."<br />

❍ All functions<br />

If you turn on this check box, specify the number of lines of the functions subjected to inline<br />

expansion. The check box is unchecked by default.<br />

❍ Specify the limitation of line numbers of functions to be inlined<br />

If you have turned on this check box, specify the number of lines of the functions as targets of<br />

inline expansion. The default of this item is "off."<br />

131


CHAPTER 8 COMPILE<br />

8.2.4 Detailed Options for Output (fcc911s Compiler)<br />

This section explains how to set the detailed output options for the fcc911s compiler<br />

using the Options for outputs [fcc911s] - fcc911s Compiler dialog box.<br />

■ Options for Outputs [fcc911s] - fcc911s Compiler Dialog Box<br />

Figure 8.2-6 "Options for Outputs [fcc911s] - fcc911s Compiler Dialog Box" shows the Options<br />

for outputs [fcc911s] - fcc911s Compiler dialog box.<br />

132<br />

Figure 8.2-6 Options for Outputs [fcc911s] - fcc911s Compiler Dialog Box<br />

You can set the following items in the Options for outputs [fcc911s] - fcc911s Compiler dialog<br />

box:<br />

❍ Insert the comment lines of C/<strong>C++</strong> source files into assembler lines<br />

You can specify whether to insert C or <strong>C++</strong> source files as comment lines into assembler source<br />

files (*.asm). The default is no insertion (no check mark is displayed).


8.2 Setting Options for fcc911s<br />

❍ Output assembler lists<br />

You can specify whether to output assembler lists. The default is no output (no check mark is<br />

displayed).<br />

❍ Put "static" variables into memory in source sequential order<br />

You can specify whether to be stored in memory static variables in order in while they described<br />

in the source. The default is storing in memory according to the order of variable alignment (no<br />

check mark is displayed).<br />

❍ Automatically instantiated templates<br />

Check this check box to specify the method of instantiate templates.<br />

❍ Use Old for loop initialization scooping<br />

Check this check box to applies the scope of the declaration in the initialization type of for is<br />

made a specification before ANSI.<br />

❍ Use alternative keywords.<br />

Check this check box to use the keywords of alternative.<br />

❍ Generation type of a virtual function table<br />

Check this check box to make a virtual function table.<br />

❍ Specify the sections of compiler - outputs<br />

You can specify changes in the output sections of the compiler. To specify a section, enter the<br />

name, type, and address of the section in the respective fields.<br />

133


CHAPTER 8 COMPILE<br />

8.3 Setting Options for fcc935s<br />

This section explains how to set compilation options for the fcc935s compiler.<br />

■ Compile Option Dialog Box for fcc935s<br />

Figure 8.2-1 "Compile Option Dialog Box for fcc935s" shows the Compile Option dialog box for<br />

the fcc935s compiler.<br />

134<br />

Figure 8.3-1 Compile Option Dialog Box for fcc935s<br />

The following settings can be made in the Compile Option dialog box:<br />

❍ Target Compiler<br />

One of the following two types of compiler can be specified.<br />

C/<strong>C++</strong> compiler (fcc911s) for the <strong>FR</strong> Family<br />

C/<strong>C++</strong> compiler (fcc935s) for the <strong>FR</strong>-V Family<br />

ANSI C/<strong>C++</strong> compiler


8.3 Setting Options for fcc935s<br />

❍ Translation Controller<br />

One of the following two ranges of compilation can be specified. The default is the execution of<br />

processes up to compilation.<br />

Only Pre-Processing: Translation processes up to preprocessing are executed.<br />

Run Compilation: Translation processes up to compilation are executed.<br />

❍ Chip Classifcation<br />

The Family Name of your MCU can be specified.<br />

❍ Optimization Level<br />

One of the following seven optimization levels can be specified. The default is level 2.<br />

None: No optimization<br />

Level 1: Optimization in level 1<br />

Level 2: Optimization in level 2<br />

Level 3: Optimization in level 3<br />

Level 4: Optimization in level 4<br />

Priority to speed: Optimization with priority to speed<br />

Priority to size: Optimization with priority to size<br />

❍ Warning Level<br />

One of the following nine warning levels can be specified.<br />

The default is level 1.<br />

Level 0: No output of warning messages<br />

Level 1: Output of warning messages in level 1<br />

Level 2: Output of warning messages in level 2<br />

Level 3: Output of warning messages in level 3<br />

Level 4: Output of warning messages in level 4<br />

Level 5: Output of warning messages in level 5<br />

Level 6: Output of warning messages in level 6<br />

Level 7: Output of warning messages in level 7<br />

Level 8: Output of warning messages in level 8<br />

❍ Target MCU<br />

One of the MCU Number can be specified.<br />

❍ Output DEBUG information<br />

You can specify whether to output debug information. The default is no output.<br />

❍ Not reading default option file<br />

You can specify whether to read the default option file. The default is no reading.<br />

❍ Output STACK information<br />

You can specify whether to output a stack information file. The default is no output.<br />

135


CHAPTER 8 COMPILE<br />

136<br />

❍ Details<br />

Preprocessor: Specifies the setting of detailed options for the preprocessor.<br />

Language: Specifies the setting of detailed options for language specifications.<br />

Optimization: Specifies the setting of detailed options for optimization.<br />

Output: Specifies the setting of detailed options for output.<br />

❍ Other Options’ Description<br />

Other options available for the compiler can be entered in this field.<br />

❍ Buttons<br />

Confirm button: Permits the user to check the settings of compiler options.<br />

OK button: Validates the settings made in the dialog box.<br />

Cancel button: Cancels the settings made in the dialog box.<br />

Help button: Displays help information.


8.3 Setting Options for fcc935s<br />

8.3.1 Detailed Options for Preprocessor (fcc935s Compiler)<br />

This section explains how to set detailed options for the preprocessor of the fcc935s<br />

compiler using the Preprocessor - fcc935s Compiler dialog box. This dialog box has<br />

two setting screens: Include Paths and Macro Definition screens.<br />

■ Include Paths Screen of Preprocessor - fcc935s Compiler Dialog Box<br />

Figure 8.2-2 "Include Paths Screen" shows the Include Paths screen.<br />

Figure 8.3-2 Include Paths Screen<br />

❍ Path field<br />

This field shows the include path to be used for compilation.<br />

❍ List of registered include paths list box<br />

This box lists registered include paths.<br />

The registered include paths will be passed to the preprocessor sequentially from the top in this<br />

box.<br />

❍ Browse button<br />

This button displays the window to select a path from existing include paths.<br />

137


CHAPTER 8 COMPILE<br />

138<br />

The path selected on the window is displayed in the Path field.<br />

❍ Add button<br />

This button adds the include path shown in the Path field in the List of registered paths box.<br />

❍ Delete button<br />

This button deletes a selected include path from the List of registered paths box.<br />

❍ Move Upward button<br />

This button moves the order of a selected include path, which is registered in the List of<br />

registered paths box, one place up.<br />

❍ Move Downward button<br />

This button moves the order of a selected include path, which is registered in the List of<br />

registered paths box, one place down.<br />

❍ Recognize lines starting with // as comment in C source<br />

The comment on C/<strong>C++</strong> style can be treated in the source file.<br />

The comment on /**/ style and the comment on // style can be written.<br />

❍ Leave a comment in the preprocessing result check box<br />

If this check box is clicked, a comment can be left in the preprocessing result.


■ Macro Definition Screen of Preprocessor - fcc935s Compiler Dialog Box<br />

Figure 8.2-3 "Macro Definition Screen" shows the Macro Definition screen.<br />

Figure 8.3-3 Macro Definition Screen<br />

Items and buttons of the Macro Definition screen are as follows:<br />

8.3 Setting Options for fcc935s<br />

❍ Name field<br />

This field permits the user to specify the name of the macro to be registered for compilation.<br />

❍ Value field<br />

This field permits the user to enter the value of the macro.<br />

❍ List of Registered Macro Definition list box<br />

This box lists registered macro names.<br />

The registered macros will be passed to the preprocessor sequentially from the top in this list<br />

box.<br />

❍ Add button<br />

This button adds the macro specified in the Name field in the List of Registered Macro Definition<br />

box.<br />

❍ Delete button<br />

This button deletes a selected macro from the List of Registered Macro Definition box.<br />

139


CHAPTER 8 COMPILE<br />

140<br />

❍ Move Upward button<br />

This button moves the order of a selected macro, which is registered in the List of Registered<br />

Macro Definition box, one place up.<br />

❍ Move Downward button<br />

This button moves the order of a selected macro, which is registered in the List of Registered<br />

Macro Definition box, one place down.<br />

❍ Recognize lines starting with // as comment in C source<br />

The comment on C/<strong>C++</strong> style can be treated in the source file.<br />

The comment on /**/ style and the comment on // style can be written.<br />

❍ Leave a comment in the preprocessing result check box<br />

If this check box is clicked, a comment can be left in the preprocessing result.


8.3 Setting Options for fcc935s<br />

8.3.2 Detailed Options for Language Specifications (fcc935s<br />

Compiler)<br />

This section explains how to set the detailed options for the language specifications of<br />

the fcc935s compiler using the Specification of Language - fcc935s Compiler dialog<br />

box.<br />

■ Specification of Language - fcc935s Compiler Dialog Box<br />

Figure 8.2-4 "Specification of Language - fcc935s Compiler Dialog Box" shows the Specification<br />

of Language - fcc935s Compiler dialog box.<br />

Figure 8.3-4 Specification of Language - fcc935s Compiler Dialog Box<br />

The following items can be set in the Specification of Language - fcc935s Compiler dialog box:<br />

❍ Sign of plain "char"<br />

An unsigned or signed format can be selected for character-type data.<br />

The default is "Unsigned."<br />

❍ Sign of bit field of "int"<br />

An unsigned or signed format can be selected for integer-type bit field.<br />

The default is "Unsigned."<br />

❍ Language<br />

You can specify the level of language specification.<br />

The default is "Embedded <strong>C++</strong>."<br />

❍ INLINE expansion of a function qualified with "_interrupt"<br />

You can specify whether to execute inline expansion of the function related to interrupt. The<br />

default is execution of inline expansion (a check mark is displayed).<br />

141


CHAPTER 8 COMPILE<br />

142<br />

❍ Regard a valuable qualified with "_io" as volatile<br />

You can specify whether to regard each "_io" type qualifier to be volatile. The default is<br />

regarding it to be volatile (a check mark is displayed).


8.3 Setting Options for fcc935s<br />

8.3.3 Detailed Options for Optimization (fcc935s Compiler)<br />

This section explains how to set the detailed optimization options for the fcc935s<br />

compiler using the Option on Optimization [fcc935s] - fcc935s Compiler dialog box.<br />

■ Option on Optimization [fcc935s] - fcc935s Compiler Dialog Box<br />

Figure 8.2-5 "Option on Optimization [fcc935s] - fcc935s Compiler Dialog Box" shows the<br />

Option on Optimization [fcc935s] - fcc935s Compiler dialog box.<br />

Figure 8.3-5 Option on Optimization [fcc935s] - fcc935s Compiler Dialog Box<br />

The following items can be set in the Option on Optimization [fcc935s] - fcc935s Compiler dialog<br />

box:<br />

❍ Minimal alignment boundary for static variables<br />

You can specify the value of the minimal alignment boundary for static variables.<br />

The default is "1 byte."<br />

143


CHAPTER 8 COMPILE<br />

144<br />

❍ Type of floating point constant without suffix<br />

You can specify the type of the floating constant without a suffix.<br />

The default is "double."<br />

❍ Instruction scheduling<br />

You can specify whether to execute instruction scheduling.<br />

The default is execution of scheduling (a check mark is display).<br />

❍ Scheduling of great area<br />

You can specify whether to applied for global scheduling for instruction transfer beyond the<br />

branch.<br />

The default is "off."<br />

❍ Output non-executing instruction<br />

You can specify the whether to output Non-Excepting instruction.<br />

The default is Not-doing (no check mark is displayed).<br />

❍ Optimization of changing the evaluation method of arithmetic operation<br />

You can specify whether to execute optimization to change the method of evaluating arithmetic<br />

operations.<br />

The default is non-execution of the optimization (no check mark is displayed).<br />

❍ Optimization of pointer aliasing<br />

You can specify whether to execute optimization of the data indicated by the pointer.<br />

The default is execution of optimization (a check mark is displayed).<br />

❍ Loop unrolling<br />

You can specify whether to execute loop unrolling.<br />

The default is execution of loop unrolling (a check mark is displayed).<br />

❍ Software pipelining<br />

You can specify whether to execute software pipelining.<br />

The default is execution of software pipelining (a check mark is displayed).<br />

❍ Output conditional instruction<br />

You can specify whether to output conditional instruction.<br />

The default is not output of conditional instruction (no check mark is displayed).


8.3 Setting Options for fcc935s<br />

❍ In-line expansion of standard library functions / replacement to other equivalent function<br />

You can specify whether to execute in-line expansion of standard functions or replacement with<br />

other functions.<br />

The default is not execution of in-line expansion or replacement (no check mark is displayed).<br />

❍ Specified function<br />

If you have turned on this check box, specify the functions as the targets of in-line expansion in<br />

the field below.<br />

The default of the item "off."<br />

❍ All functions<br />

If you turn on this check box, specify the number of lines of the functions subjected to inline<br />

expansion. The check box is unchecked by default.<br />

❍ Specify the limitation of line numbers of functions to be in-lined<br />

If you have turned on this check box, specify the number of lines of the functions as targets of<br />

in-line expansion.<br />

The defaults of this item is "off."<br />

145


CHAPTER 8 COMPILE<br />

8.3.4 Detailed Options for Output (fcc935s Compiler)<br />

This section explains how to set the detailed output options for the fcc935s compiler<br />

using the Options for outputs [fcc935s] - fcc935s Compiler dialog box.<br />

■ Options for Outputs [fcc935s] - fcc935s Compiler Dialog Box<br />

Figure 8.2-6 "Options for Outputs [fcc935s] - fcc935s Compiler Dialog Box" shows the Options<br />

for outputs [fcc935s] - fcc935s Compiler dialog box.<br />

146<br />

Figure 8.3-6 Options for Outputs [fcc935s] - fcc935s Compiler Dialog Box


8.3 Setting Options for fcc935s<br />

You can set the following items in the Options for outputs [fcc935s] - fcc935s Compiler dialog<br />

box:<br />

❍ Insert the comment lines of C/<strong>C++</strong> source files into assembler lines<br />

You can specify whether to insert C or <strong>C++</strong> source files as comment lines into assembler source<br />

files (*.asm). The default is no insertion (no check mark is displayed).<br />

❍ Output assembler lists<br />

You can specify whether to output assembler lists. The default is no output (no check mark is<br />

displayed).<br />

❍ Put "static" variables into memory in source sequential order<br />

You can specify whether to be stored in memory static variables in order in while they described<br />

in the source. The default is storing in memory according to the order of variable alignment (no<br />

check mark is displayed).<br />

❍ Automatically instantiated templates<br />

Check this check box to specify the method of instantiate templates.<br />

❍ Use Old for loop initialization scooping<br />

Check this check box to applies the scope of the declaration in the initialization type of for is<br />

made a specification before ANSI.<br />

❍ Use alternative keywords<br />

Check this check box to use the keywords of alternative.<br />

❍ Generation type of a virtual function table<br />

Check this check box to make a virtual function table.<br />

❍ Line up the divergence label<br />

Check this check box to specify the method of the line of the divergence label.<br />

❍ Specify the sections of compiler - outputs<br />

You can specify changes in the output sections of the compiler. To specify a section, enter the<br />

name, type, and address of the section in the respective fields.<br />

147


CHAPTER 8 COMPILE<br />

8.4 Setting up ANSI C/<strong>C++</strong> Compiler Options<br />

The ANSI C/<strong>C++</strong> compiler is compiled in a full ANSI mode of fcc911s.<br />

■ Dialog box for setting up the ANSI C/<strong>C++</strong> compiler options<br />

Figure 8.4-1 "Compile Option Dialog Box for ANSI C/<strong>C++</strong>" shows the Compile Option dialog box<br />

for the ANSI C/<strong>C++</strong> compiler.<br />

148<br />

Figure 8.4-1 Compile Option Dialog Box for ANSI C/<strong>C++</strong><br />

The following settings can be made in the Compile Option dialog box:<br />

❍ Target Compiler<br />

One of the following two types of compiler can be specified.<br />

C/<strong>C++</strong> compiler (fcc911s) for the <strong>FR</strong> Family<br />

C/<strong>C++</strong> compiler (fcc935s) for the <strong>FR</strong>-V Family<br />

ANSI C/<strong>C++</strong> compiler


8.4 Setting up ANSI C/<strong>C++</strong> Compiler Options<br />

Reference:<br />

The menu which can be set when the ANSI C/<strong>C++</strong> is selected by the option of the<br />

compilation becomes only the use language and a pre-processor.<br />

❍ Details<br />

Preprocessor: Specifies the setting of detailed options for the preprocessor. Pease see<br />

"8.2.1 Detailed Options for Preprocessor (fcc911s Compiler)" for details.<br />

❍ Buttons<br />

Confirm button: Permits the user to check the settings of compiler options.<br />

OK button: Validates the settings made in the dialog box.<br />

Cancel button: Cancels the settings made in the dialog box.<br />

Help button: Displays help information.<br />

149


CHAPTER 8 COMPILE<br />

150


CHAPTER 9 CHECK<br />

This chapter explains the check feature.<br />

9.1 "Check Menu"<br />

9.2 "Displaying Inline Expansion Candidate Feature"<br />

151


CHAPTER 9 CHECK<br />

9.1 Check Menu<br />

Programs can be checked using the check command. The check command can be<br />

executed from the check menu as follows:<br />

[Inline] command<br />

■ Check Menu<br />

152<br />

Figure 9.1-1 Check Menu


9.2 Displaying Inline Expansion Candidate Function<br />

9.2 Displaying Inline Expansion Candidate Function<br />

Click the [Inline] command displayed in the [Check] menu. An inline expansion<br />

candidate function for which the expanded line count is equal to or less than the line<br />

count specified in the [Upper limit of inline candidate executable statement size] in the<br />

[Option] dialog box is retrieved.<br />

When no function that can be used as the inline expansion candidate exists, a<br />

message that indicates the no-function state is displayed.<br />

■ Displaying Inline Expansion Candidate Function<br />

The names of all functions to be analyzed and used as inline expansion candidates are<br />

displayed in the [Candidate for Inline function] window (see Figure 9.2-1 "[Candidate for Inline<br />

Function] Window").<br />

Figure 9.2-1 [Candidate for Inline Function] Window<br />

The [Candidate for Inline function] window shows the following information:<br />

❍ Function name:<br />

Name of analyzed function used as inline expansion candidate<br />

❍ Executable statement count:<br />

Number of executable statements for functions used as inline expansion candidates<br />

❍ File:<br />

Name of files in which functions as inline expansion candidates are defined<br />

Functions can be used as inline expansion candidates when the following conditions are<br />

satisfied:<br />

The function is called from a function in a source program.<br />

The function is defined in a source program.<br />

The real argument type of the function is the same as the dummy argument type.<br />

The number of real arguments in the function is the same as the number of dummy<br />

arguments.<br />

The arguments of the function do not have classes (<strong>C++</strong>).<br />

The arguments of the function do not have structures or unions.<br />

153


CHAPTER 9 CHECK<br />

154<br />

The function is not recursively called.<br />

The function does not call the setjmp function.<br />

"try," "throw," or "catch" statements are not included in the function. (<strong>C++</strong>)<br />

The function is not a virtual function. (<strong>C++</strong>)<br />

The function was not called by referencing the address.<br />

The line count of the function is equal to or less than the line count specified in [Upper limit of<br />

inline candidate executable statement size].<br />

Reference:<br />

A source program can be edited using the editor, which is called by double-clicking the<br />

source file name displayed in the [Candidate for Inline function] window. For an explanation<br />

of the editor, see CHAPTER 21 "PROGRAM EDITING".<br />

The upper limit of the inline candidate executable statement size must be specified<br />

according to the size of the area to be used.


CHAPTER 10 GLOBAL INFORMATION<br />

This chapter explains the operation of global information.<br />

10.1 "Selecting Global Information"<br />

10.2 "Displaying Global Variable Information"<br />

10.3 "Pointing to const-Type Qualification Declaration Candidate"<br />

10.4 "Pop-up Menu of Global Information"<br />

10.5 "Searching for Text"<br />

155


CHAPTER 10 GLOBAL INFORMATION<br />

10.1 Selecting Global Information<br />

Select the [Global] menu in the window. In the [Global] menu, one of the following<br />

commands can be specified:<br />

Global (<strong>C++</strong>)<br />

Candidate for const<br />

■ Selecting Global Information<br />

Figure 10.1-1 "[Global] Menu" shows an example of selecting global information.<br />

156<br />

Figure 10.1-1 [Global] Menu<br />

❍ [Global (<strong>C++</strong>)] command<br />

Displays information on the global variable used in the source program to be analyzed.<br />

❍ [Candidate for const] command<br />

Displays the global variable to be used in the source program to be analyzed and as the consttype<br />

qualification candidate.


10.2 Displaying Global Variable Information<br />

10.2 Displaying Global Variable Information<br />

Click the [Global (<strong>C++</strong>)] command in the [Global] menu. The function using the global<br />

variable used in the analyzed program is displayed.<br />

When no global variables are being used, the message indicating the no-globalvariable<br />

state is displayed.<br />

■ Displaying C/<strong>C++</strong> Global Variable Information<br />

Figure 10.2-1 "Example of C/<strong>C++</strong> Global Variable Display Window" shows an example of the C/<br />

<strong>C++</strong> global variable display window.<br />

Figure 10.2-1 Example of C/<strong>C++</strong> Global Variable Display Window<br />

❍ Name<br />

Name of global variable used in all parts of an analyzed program<br />

❍ Type<br />

Declared type of global variable<br />

❍ Function name<br />

Name of function in which the global variable is used<br />

157


CHAPTER 10 GLOBAL INFORMATION<br />

10.3 Pointing to const-Type Qualification Declaration Candidate<br />

Click the [Candidate for const] command in the [Global] menu. The global variables<br />

used in the analyzed program and to be optimized with the const-type qualification<br />

declaration are displayed.<br />

When no const-type candidates are found, the message indicating the no-candidate<br />

status is displayed.<br />

■ Specifying const-type Qualification Declaration Candidate<br />

Figure 10.3-1 "Example of Window for const-type Qualification Declaration Candidate Display"<br />

shows an example of the window for const-type qualification declaration candidate display.<br />

158<br />

Figure 10.3-1 Example of Window for const-type Qualification Declaration Candidate Display<br />

❍ Name<br />

Name of variables used as const-type qualification declaration candidates in all parts of the<br />

analyzed program<br />

❍ Type<br />

Declared type of variable used as const-type qualification declaration candidate


10.4 Pop-up Menu of Global Information<br />

10.4 Pop-up Menu of Global Information<br />

Click the right side of the mouse while in the Global Variable window to display a popup<br />

menu in the window.<br />

■ Pop-up Menu of Global Information<br />

Figure 10.4-1 "Global Variable Window Pop-up Menu" shows the Global Variable window popup<br />

menu.<br />

Figure 10.4-1 Global Variable Window Pop-up Menu<br />

❍ [Copy] command<br />

Saves a selected character string onto the clip board. This command has the same function as<br />

the [Copy] command in the [Edit] menu.<br />

❍ [Select All] command<br />

Selects all characters displayed in the global information window. This command has the same<br />

function as the [Select All] command in the [Edit] menu.<br />

❍ [Find] command<br />

Searches for text displayed in the cross reference information window. This command has the<br />

same function as the [Find] command in the [View] menu.<br />

Remarks<br />

The [Logic Flow] command cannot be used for a global information display.<br />

159


CHAPTER 10 GLOBAL INFORMATION<br />

10.5 Searching for Text<br />

Searches for text displayed as global information.<br />

■ Searching for Text<br />

Click the [Find] command in the [View] menu or click the [Find] command in the pop-up menu of<br />

the Global Variable window.<br />

The [Find] dialog box shown in Figure 10.5-1 "[Find] Dialog Box for Global Information" is<br />

displayed.<br />

160<br />

Figure 10.5-1 [Find] Dialog Box for Global Information<br />

Enter the text to be searched for in the [Find what:] box, specify the search direction and click<br />

the [Find Next] button to search for the specified text in the specified direction.<br />

When the [Find Prev] command in the [View] menu is clicked, the text is searched for in the<br />

backward direction. When the [Find Prev] command or [Find Next] command in the [View]<br />

menu is clicked, the text is searched for in the direction specified by the selected command.


CHAPTER 11 SETUP<br />

This chapter explains the setup operation.<br />

11.1 "Setup Menu"<br />

11.2 "Editor Customization"<br />

11.3 "Environment of Compilers"<br />

161


CHAPTER 11 SETUP<br />

11.1 Setup Menu<br />

The standard editor and compiler environment can be set up using setup commands.<br />

The following setup commands can be used from the [Setup] menu:<br />

[Editor Customize] command<br />

[Editor Setup] command<br />

[Compilation Environment] command<br />

■ Setup Menu<br />

162<br />

Figure 11.1-1 Setup Menu<br />

❍ [Editor Customize] command<br />

Displays the setup dialog box for the editor to be used in C/<strong>C++</strong> analyzer.<br />

❍ [Editor Setup] command<br />

Displays the setup dialog box for the standard editor contained in the C/<strong>C++</strong> analyzer.<br />

This command can only be used if the standard editor is selected.<br />

❍ [Compilation Environment] command<br />

Specifies the compilation environment that will use the C/<strong>C++</strong> analyzer compilation function.<br />

To use this command, the Softune compiler must be installed in advance.


11.2 Editor Customization<br />

11.2 Editor Customization<br />

The C/<strong>C++</strong> analyzer has the standard editor function. An external editor can also be<br />

called using the customization function. This section explains how to set up the<br />

external editor.<br />

■ Setting External Editor<br />

With the graph flow window not displayed, select the [Editor Customize] command displayed in<br />

the [Setup] menu to display the CUSTOMIZE dialog box.<br />

Figure 11.2-1 CUSTOMIZE Dialog Box<br />

Check the [Use External Editor] check box to register and use a familiar external editor.<br />

❍ Editor name<br />

Register the name of the editor used.<br />

163


CHAPTER 11 SETUP<br />

164<br />

❍ Full path of the executive file<br />

Specify the full-path of the execution file of the editor.<br />

❍ Current directory for the editor<br />

Specify the directory which starts the editor.<br />

❍ Opening command-line<br />

Specify the argument passed to the editor.<br />

❍ List<br />

The registration situation of the editor is displayed.


11.3 Environment of Compiler<br />

11.3 Environment of Compiler<br />

A compiler can be activated from the C/<strong>C++</strong> analyzer. After the environment of the<br />

compiler is set up, the compiler can be activated. This section explains how to set up<br />

the environment of the compiler.<br />

■ Environment of Compiler<br />

Select the [Compilation Environment] command displayed in the [Setup] menu. The<br />

Environment of the compiler] dialog box is displayed.<br />

Figure 11.3-1 [Environment of the compiler] Dialog Box<br />

The Environment of the compiler] dialog box has the following features:<br />

❍ Install Directory<br />

Specify the name of the directory in which the compiler is installed.<br />

❍ Environmental variables adopted in compilation<br />

Table Name: Enter the name of the environmental variable to be registered.<br />

Value: Enter the value of the environmental variable to be registered.<br />

List of registered environmental variables: Displays the environment variables already<br />

registered.<br />

[Register] button: Adds the environment variable (entered in the environmental variable<br />

input field) to the list of registered environmental variables.<br />

[Remove] button: Deletes an environmental variable already registered in the list of<br />

165


CHAPTER 11 SETUP<br />

166<br />

registered environment variables. To delete the environmental variable, select the<br />

environmental variable to be deleted, click the left button of the mouse, then press the<br />

[Remove] button.<br />

[Upward] button: Moves the target environmental variable upwards in the list of<br />

environmental variables.<br />

[Downward] button: Moves the target environmental variable downwards in the list of<br />

environmental variables.<br />

Note:<br />

To use the compilation function, a compiler manufactured by <strong>Fujitsu</strong> must be installed in<br />

advance. If a <strong>Fujitsu</strong> compiler is not installed, a message indicating a no-compiler-installed<br />

state is displayed when the compiler environment function is used.


CHAPTER 12 WINDOWS<br />

This chapter explains window display and operation.<br />

12.1 "[Window] Menu"<br />

167


CHAPTER 12 WINDOWS<br />

12.1 [Window] Menu<br />

Windows can be operated and the window display method can be changed using<br />

window commands. The [Window] menu has the following commands:<br />

[Cascade] command<br />

[Tile Horizontally] command<br />

[Tile Vertically] command<br />

[Arrange Icons] command<br />

[Close all] command<br />

[window-name-1, 2, ...] commands<br />

■ [Window] Menu<br />

168<br />

Figure 12.1-1 [Window] Menu<br />

❍ [Cascade] command<br />

Displays two or more windows overlapping.<br />

❍ [Tile Horizontally] command<br />

Displays two or more windows horizontally.<br />

❍ [Tile Vertically] command<br />

Displays two or more windows vertically.<br />

❍ [Arrange Icons] command<br />

Arranges the iconized windows at the bottom of the application main window. When the file<br />

window is open and overlapping the bottom part of the main window, the icons under this<br />

window cannot be viewed.<br />

❍ [Close all] command<br />

Closes all the displayed windows.<br />

❍ [window-name-1, 2, ...] commands<br />

Displays a list of various windows currently opened by the C/<strong>C++</strong> analyzer. This list is displayed<br />

at the bottom field of the [Window] menu.


CHAPTER 13 HELP<br />

This chapter explains the display and operation of the help function.<br />

13.1 "[Help] Menu"<br />

169


CHAPTER 13 HELP<br />

13.1 [Help] Menu<br />

Help topics can be searched for using the help command.<br />

The [Help] menu has the following commands:<br />

[Help Topics] command<br />

[About C/<strong>C++</strong> Analyzer] command<br />

■ [Help] Menu<br />

170<br />

Figure 13.1-1 [Help] Menu<br />

❍ [Help Topics] command<br />

Displays the outline of the C/<strong>C++</strong> analyzer function and the table of contents of the help data.<br />

The printing and keyword searching of help files can also be performed.<br />

❍ [About C/<strong>C++</strong> Analyzer] command<br />

Displays version and copyright information on the C/<strong>C++</strong> analyzer.


CHAPTER 14 GRAPH FLOW<br />

This chapter explains the display and operation of a graph flow.<br />

14.1 "Displaying Graph Flow"<br />

14.2 "Pop-up Menu of Graph Flow"<br />

14.3 "Enlargement/Reduction Display"<br />

14.4 "Focus Display"<br />

14.5 "Displaying Undefined Functions"<br />

14.6 "Outputting Bitmap File"<br />

171


CHAPTER 14 GRAPH FLOW<br />

14.1 Displaying Graph Flow<br />

A graph flow shows the call relationship between functions contained in a program.<br />

When there are recursive functions and undefined functions, the type of the function is<br />

displayed.<br />

■ Displaying Graph Flow<br />

The [Graph Flow] window shows the call relationship between functions in a program.<br />

If the graph flow analysis is terminated normally, the [Graph Flow] window is displayed<br />

automatically.<br />

An analyzed project can be opened, and its [Graph Flow] window can be opened using the<br />

[Display Analysis Information] command in the [Analyze] menu.<br />

172<br />

Figure 14.1-1 Graph Flow<br />

A box indicates a function.<br />

A line indicates a function-calling relation.<br />

A red line indicates a call from a lower box (function) to an upper box (function) or indicates a<br />

recursive call to the box (function) itself.<br />

When a function recursively calls itself, a red-line box is displayed in the upper-right corner of<br />

the box as shown in Figure 14.1-2 "Example of a Recursive Call".


Figure 14.1-2 Example of a Recursive Call<br />

14.1 Displaying Graph Flow<br />

Boxes and lines will not be displayed in the following cases:<br />

The source program has a function call but the function is not found in the analyzed source<br />

program. (Example: C library, system call)<br />

To display such functions as boxes, click the [All functions] command displayed in the<br />

[View] menu.<br />

A function is called using a pointer.<br />

173


CHAPTER 14 GRAPH FLOW<br />

14.2 Pop-up Menu of Graph Flow<br />

Place the mouse pointer into the function box displayed in the [Graph Flow] window<br />

and click the right side of the mouse. A pop-up menu is displayed in the [Graph Flow]<br />

window.<br />

■ Graph Flow Pop-up Menu<br />

174<br />

Figure 14.2-1 Graph Flow Pop-up Menu (Displayed Outside the Box)<br />

Figure 14.2-2 Graph Flow Pop-up Menu (Displayed Inside the Box)<br />

[Previous Focus Level] and [Top Focus Level] commands: See Section 14.4 "Focus<br />

Display".<br />

[Zoom] command: See Section 14.3 "Enlargement/Reduction Display".


14.2 Pop-up Menu of Graph Flow<br />

[Open the File] command: Displays the specified function in the edit window.<br />

[Focus [Callee]] command and [Focus [Callee & Caller]] command: See Section 14.4 "Focus<br />

Display".<br />

[Logic Flow] command: See CHAPTER 18 "LOGIC FLOW".<br />

[Summary] command: See CHAPTER 19 "SUMMARY".<br />

[Xreference] command: See CHAPTER 20 "CROSS REFERENCE".<br />

[Show Max Used Stack] command: See CHAPTER 22 "MAX USED STACK".<br />

[Max Used Stack Route] command: See CHAPTER 22 "MAX USED STACK".<br />

[Tree-viewed Graph Flow] command: See Section 7.7 "Analysis Information (Tree View)".<br />

[All Functions] command: See Section 14.5 "Displaying Undefined Functions".<br />

[Focus [Max Used Stack Route]] command: See CHAPTER 22 "MAX USED STACK".<br />

[Find..] command: See Section 7.2 "Tool Bar".<br />

[Output Bitmap File...] command: See Section 14.6 "Outputting Bitmap File".<br />

175


CHAPTER 14 GRAPH FLOW<br />

14.3 Enlargement/Reduction Display<br />

A graph flow can be displayed with a specified magnification factor by clicking the<br />

[Zoom] command in the pop-up menu of the Graph Flow window.<br />

■ Enlarging Graph Flow<br />

Figure 14.3-1 "Example of Enlarged Graph Flow" shows an example of an enlarged graph flow.<br />

176<br />

Figure 14.3-1 Example of Enlarged Graph Flow<br />

■ Reducing Graph Flow<br />

Figure 14.3-2 "Example of Reduced Graph Flow" shows an example of a reduced graph flow.


Reference:<br />

Figure 14.3-2 Example of Reduced Graph Flow<br />

14.3 Enlargement/Reduction Display<br />

When the original size is 100%, an enlarged size (125%, 150%, 175%, or 200%) or reduced<br />

size (75% or 50%) can be displayed. When a 50% size is displayed, the information inside<br />

each box in the graph flow is not displayed and call-relation-indicating boxes and lines only<br />

are displayed.<br />

177


CHAPTER 14 GRAPH FLOW<br />

14.4 Focus Display<br />

Place the mouse pointer in the base function box in the [Graph Flow] window, display<br />

the graph flow pop-up menu, and click the [Focus [Callee]] or [Focus [Callee & Caller]]<br />

command to display a graph flow starting from the specified function.<br />

■ Selecting Focus<br />

Figure 14.4-1 "Pop-up Menu of Graph Flow (Focus Selection)" shows an example of focus<br />

selection.<br />

178<br />

Figure 14.4-1 Pop-up Menu of Graph Flow (Focus Selection)<br />

■ Displaying Focus<br />

Focus display can be classified as follows:<br />

Display of calling relationship from specified function<br />

Display of calling relationship from and to specified function<br />

When the [Focus [Callee]] command in the graph flow pop-up menu is clicked, the screen<br />

shown in Figure 14.4-2 "Display Example of Graph Flow Using the [Focus [Callee]] Command"<br />

is displayed.


Figure 14.4-2 Display Example of Graph Flow Using the [Focus [Callee]] Command<br />

14.4 Focus Display<br />

When the [Focus [Callee & Caller]] command in the graph flow pop-up menu is clicked, the<br />

screen shown in Figure 14.4-3 "Display Example of a Graph Flow Using the [Focus [Callee &<br />

Caller]] Command" is displayed. The name of the base calling function is displayed in the box in<br />

the color green.<br />

Figure 14.4-3 Display Example of a Graph Flow Using the [Focus [Callee & Caller]] Command<br />

These operations can be executed consecutively. The [Focus [Callee]] display can be<br />

combined with the [Focus [Callee & Caller]] display. The operation count is displayed in the<br />

[Focus Level] field at the left top of the Graph Flow window. (The initial value of the Focus Level<br />

is 0.)<br />

To return the display to its previous state, click the [Previous Focus Level] command displayed<br />

in the graph flow pop-up menu. To return the display to its initial state (focus level 0), click the<br />

[Top Focus Level] command in the graph flow pop-up menu.<br />

179


CHAPTER 14 GRAPH FLOW<br />

14.5 Displaying Undefined Functions<br />

Click the [All Functions] command in the graph flow pop-up menu. The call<br />

relationship of function boxes in the analyzed source program and the function boxes<br />

whose procedures are not contained in the source program are displayed. The<br />

bottoms of these boxes are displayed in yellow.<br />

■ Displaying Undefined Functions<br />

180<br />

Usually only function boxes contained in the analyzed source program are displayed. Function<br />

boxes called but whose procedures are not contained in the source program (e.g., C standard<br />

library or operating system call) are not displayed.<br />

However, when the [All Functions] command in the graph flow pop-up menu is clicked, both the<br />

function boxes contained in the analyzed source program and the function boxes that are called<br />

but whose procedures are not contained in the source program are displayed. The function<br />

boxes called but whose procedures are not contained in the source program are displayed. The<br />

bottom of these boxes are displayed in yellow.<br />

Figure 14.5-1 Display Example of Undefined Functions


14.6 Outputting Bitmap File<br />

14.6 Outputting Bitmap File<br />

The window image of a graph flow can be saved in a bitmap file by clicking the [Output<br />

Bitmap File...] command in the pop-up menu of the Graph Flow window.<br />

■ Outputting Bitmap File<br />

The window image of a graph flow can be saved in a bitmap file. Figure 14.6-1 "Example of<br />

selecting the [Output Bitmap File...] command" shows an example of selecting the [Output<br />

Bitmap File...] command.<br />

Figure 14.6-1 Example of selecting the [Output Bitmap File...] command<br />

Figure 14.6-2 "Display of saving a bitmap file" shows a display for saving a bitmap file.<br />

Figure 14.6-2 Display of saving a bitmap file<br />

181


CHAPTER 14 GRAPH FLOW<br />

182


CHAPTER 15 CALL TREE<br />

This chapter explains the display and operation of a call tree.<br />

15.1 "Displaying Call Tree"<br />

15.2 "Call Tree Pop-up Menu"<br />

183


CHAPTER 15 CALL TREE<br />

15.1 Displaying Call Tree<br />

Display the graph flow and select the [Analysis Information [Tree View]] command<br />

displayed in the [View] menu to display a Call Tree window.<br />

■ Displaying Call Tree<br />

A call tree is a list structure that indicates the function call relationship.<br />

184<br />

Figure 15.1-1 Display Example of Call Tree<br />

Each box in the call tree shows a function in the program. Its function name and arguments are<br />

also displayed. A value enclosed in parentheses indicates the number of logical lines of the<br />

function.<br />

: It is shown that the function is displayed from the above to <br />

line the omitted<br />

function call ahead.<br />

Functions with a recursive call are shown with an arrow (see Figure 15.1-2 "Example of<br />

Function with Recursive Call").<br />

Figure 15.1-2 Example of Function with Recursive Call


15.2 Call Tree Pop-up Menu<br />

15.2 Call Tree Pop-up Menu<br />

Place the mouse pointer in a function box in the Call Tree window. Click the right side<br />

of the mouse to display a pop-up menu in the call tree. Click the left side of the mouse<br />

to display the function box in red.<br />

■ Call Tree Pop-up Menu<br />

Figure 15.2-1 Call Tree Pop-up Menu (Outside Box)<br />

Figure 15.2-2 Call Tree Pop-up Menu (Inside Box)<br />

[Open The File] command: Displays the edit window of the source program that includes a<br />

specified function definition. For details, See CHAPTER 21 "PROGRAM EDITING".<br />

[Logic Flow] command: Displays the logic flow window that contains a specified function<br />

definition. For details, See CHAPTER 18 "LOGIC FLOW".<br />

[Summary] command: Displays statistical information on a specified function. For details,<br />

See CHAPTER 19 "SUMMARY".<br />

[Xreference] command: Displays cross reference information on a specified function. For<br />

details, See CHAPTER 20 "CROSS REFERENCE".<br />

[Open All] command: Displays all the windows in the Call Tree window.<br />

185


CHAPTER 15 CALL TREE<br />

186<br />

[Close All] command: Displays only the top-level function in the Call Tree window.<br />

[Find..] command: Searches for a function name in the Call Tree window.


CHAPTER 16 CLASS INFORMATION<br />

This chapter explains the display and operation of class information.<br />

16.1 "Displaying Class Information"<br />

16.2 "Class Inheritance Diagram"<br />

16.3 "Class Statistical Information"<br />

16.4 "Class Inheritance Information"<br />

16.5 "Class Usage Information"<br />

16.6 "Friend Information"<br />

187


CHAPTER 16 CLASS INFORMATION<br />

16.1 Displaying Class Information<br />

Class information visually indicates the inheritance relationship between classes in a<br />

program.<br />

■ Displaying Class Information<br />

When analysis is terminated normally and a graph flow is displayed, the following class<br />

information can be referenced:<br />

188<br />

❍ Class inheritance diagram<br />

Visually indicates the inheritance relationship between classes. This information can be<br />

displayed by specifying a base class or a derived class.<br />

❍ Class name list<br />

Indicates a list of the names of classes used in the source program. This list is interlocked with<br />

the class inheritance relationship diagram. A class name can be easily retrieved.<br />

❍ Class statistical information<br />

Indicates statistical information on a specific class. Logic flow can also be displayed.<br />

❍ Class inheritance information<br />

Indicates the inheritance information on a specified class. Single inheritance information, multiinheritance<br />

information, and inheritance levels are also displayed.<br />

❍ Class usage information<br />

Indicates usage information on a specified class.<br />

❍ Friend function<br />

Indicates friend information on a specified class.


16.2 Class Inheritance Diagram<br />

16.2 Class Inheritance Diagram<br />

The class inheritance diagram indicates inheritance relationships between classes.<br />

The class inheritance relationship diagram includes the following information<br />

concerning class inheritance relationships:<br />

Inheritance relationship between all used classes<br />

Search results of an arbitrary class<br />

Base class of a specified class<br />

Derived class of a specified class<br />

■ Displaying Class Inheritance Diagram<br />

After analysis terminates, click the [Class Hierarchy] command displayed in the [View] menu to<br />

display the Class Inheritance window.<br />

■ Class Inheritance Diagram Pop-up Menu<br />

Figure 16.2-1 Class Inheritance Diagram<br />

[Previous Focus Level] command and [Top Focus Level] command: See Section 16.2.2<br />

"Focus Display".<br />

[Zoom] command: See Section 16.2.1 "Enlargement/Reduction Display".<br />

[Focus [Base]], [Focus [Derived]], [Focus [Base & Derived]], and [Focus [1 Level]]<br />

commands: See Section 16.2.2 "Focus Display".<br />

[Logic Flow] command: See CHAPTER 18 "LOGIC FLOW".<br />

[Class Summary] command: See Section 16.3 "Class Statistical Information".<br />

[Class Inheritance] command: See Section 16.4 "Class Inheritance Information".<br />

[Class Usage] command: See Section 16.5 "Class Usage Information".<br />

[Friends] command: See Section 16.6 "Friend Information".<br />

[All Classes] command: See Section 16.2.3 "Displaying Undefined Classes".<br />

189


CHAPTER 16 CLASS INFORMATION<br />

190<br />

[Find..] command: See Section 17.2 "Searching."<br />

[Output Bitmap File...] command: See Section 14.6 "Outputting Bitmap File".


16.2.1 Enlargement/Reduction Display<br />

16.2 Class Inheritance Diagram<br />

Click the [Zoom] command of the pop-up menu of the Class Inheritance window. The<br />

displayed class inheritance diagram is enlarged or reduced to a specified<br />

magnification factor.<br />

■ Enlarging the Class Inheritance Diagram<br />

Figure 16.2-2 "Example of Enlarged Class Inheritance Diagram" is an example of an enlarged<br />

class inheritance diagram.<br />

■ Reduced Class Inheritance Diagram<br />

Figure 16.2-2 Example of Enlarged Class Inheritance Diagram<br />

Figure 16.2-3 "Example of Reduced Class Inheritance Diagram" is an example of a reduced<br />

class inheritance diagram.<br />

191


CHAPTER 16 CLASS INFORMATION<br />

192<br />

Reference:<br />

Figure 16.2-3 Example of Reduced Class Inheritance Diagram<br />

When the original size is 100%, an enlarged size (125%, 150%, 175%, or 200%) or reduced<br />

size (75% or 50%) can be displayed. When a 50% size is displayed, the information inside<br />

each box in the graph flow is not displayed and the call-relation-indicating boxes and lines<br />

only are displayed.


16.2.2 Focus Display<br />

16.2 Class Inheritance Diagram<br />

In the Class Inheritance window, place the mouse pointer in a box of the basic class.<br />

Display the pop-up menu. Click the [Focus [Base]], [Focus [Derived]], [Focus [Base &<br />

Derived]], or [Focus [1 Level]] command to display the class inheritance relationship<br />

from the specified class.<br />

■ Selecting Focus<br />

Figure 16.2-4 "Class Inheritance Diagram Pop-up Menu (Focus Selection)" is an example of<br />

focus selection.<br />

Figure 16.2-4 Class Inheritance Diagram Pop-up Menu (Focus Selection)<br />

■ Displaying Focus<br />

Focus display can be classified as follows:<br />

Display of base class of a specified class<br />

Display of derived class of a specified class<br />

Display of all base classes and derived classes of a specified class<br />

Display of 1-level base class and derived class of a specified class<br />

Figure 16.2-5 "Example of Focus Display Using [Focus [Base]] Command" is an example of a<br />

focus display when the [Focus [Base]] command in the class inheritance pop-up menu is<br />

clicked.<br />

Focus operations can be performed consecutively. The number of focus operations is displayed<br />

in the [Focus Level] field at the top left of the Class Inheritance window. (The initial value of the<br />

focus level is 0.)<br />

The current focus level display can be returned to the previous state by clicking the [Previous<br />

Focus Level] command in the class inheritance pop-up menu. The current focus level display<br />

can be returned directly to the first state (focus level 0) by clicking the [Top Focus Level]<br />

command in the class inheritance pop-up menu.<br />

193


CHAPTER 16 CLASS INFORMATION<br />

194<br />

Figure 16.2-5 Example of Focus Display Using [Focus [Base]] Command


16.2.3 Displaying Undefined Classes<br />

16.2 Class Inheritance Diagram<br />

Click the [All Classes] command in the class inheritance pop-up menu. The box of<br />

classes not defined in the source program are also displayed.<br />

■ Displaying Undefined Classes<br />

Usually only the boxes of classes contained in the analyzed source program are displayed. The<br />

boxes of classes inherited but not defined in the source program (e.g., the box of a class library)<br />

are not displayed.<br />

Click the [All Classes] command in the class inheritance pop-up menu. The boxes of classes<br />

contained in the analyzed source program and the boxes of the classes not defined in the<br />

source program are displayed. The bottoms of these non-class-defined boxes are displayed in<br />

yellow.<br />

Figure 16.2-6 Display Example of Undefined Class<br />

195


CHAPTER 16 CLASS INFORMATION<br />

16.2.4 Class Name List<br />

A list of the class names displayed in the class inheritance diagram can be displayed.<br />

The class name list is interlocked with the class inheritance diagram. When the<br />

contents of the class inheritance relationship change, the contents of the class name<br />

list are also updated.<br />

■ Class Name List<br />

Click the [Class Name List] command in the View menu of the class inheritance diagram to<br />

display the Class List window.<br />

A list of the names of the classes used in the source program is displayed.<br />

196<br />

Figure 16.2-7 Display Example of Class Name List<br />

❍ Display items<br />

The analyzed classes and the names of the source files in which the classes are defined are<br />

displayed. Move the mouse pointer to the displayed class name or source file name and click<br />

the mouse. The frame color of the corresponding class displayed in the Class Inheritance<br />

window changes to red.<br />

The class list displays the names of the classes displayed in the class inheritance diagram.<br />

When the classes displayed in the class inheritance diagram are changed, the corresponding<br />

classes displayed in the class name list are also updated.


16.3 Class Statistical Information<br />

16.3 Class Statistical Information<br />

The following information on each class can be displayed to show the characteristics<br />

of the class:<br />

Class type<br />

Name, attribution, and type of data members used in the class<br />

Name, attribution, and type of members used in the class<br />

■ Class Statistical Information<br />

Select the [Class Summary] command in the class inheritance pop-up menu. The Class<br />

Summary Information window is displayed.<br />

❍ Display items<br />

Figure 16.3-1 Example of Class Summary Information Window<br />

Class Name: Name of class<br />

File Name: Name of source file in which the class is defined<br />

Type: Type of class<br />

Data Member: Information on following data members declared in this class:<br />

Member Name: Name of data member<br />

Access attribution: Access control type of data member<br />

Type: Type of data member<br />

Member Functions: Information on following member functions declared in this class:<br />

Member Name: Name of member function<br />

Access Attribution: Access control type of member function<br />

Type: Type of member function<br />

Special: Type of member (constructor, destructor, or conversion function)<br />

197


CHAPTER 16 CLASS INFORMATION<br />

198<br />

❍ [Open the file] button<br />

Displays the source file of a specified data member or member function in the edit window.


16.4 Class Inheritance Information<br />

16.4 Class Inheritance Information<br />

The following information on the base class of a specified class can be displayed:<br />

Name of base class<br />

Inheritance level of base class<br />

Name of source file in which the base class is declared<br />

Type and attribution of base class<br />

■ Class Inheritance Information<br />

Select the [Class Inheritance] command in the class inheritance pop-up menu. The Class<br />

Inheritance Information window is displayed. When there is no base class, the message<br />

indicating there is no base class is displayed.<br />

Figure 16.4-1 Example of Class Inheritance Information Window<br />

❍ Display items<br />

Inheritance Type: Single inheritance or multiple inheritance<br />

Base Class Name: Name of base class<br />

Inheritance Level: Inheritance level of base class<br />

Source File Name: Name of source file in which the base file is declared<br />

Base Class Type: Type of base class<br />

Base Class Attribution: Attribution of base class<br />

Double-click an inheritance information line in the Class Inheritance Information window. The<br />

source file in which the corresponding base class is declared is displayed.<br />

199


CHAPTER 16 CLASS INFORMATION<br />

16.5 Class Usage Information<br />

The function names and line numbers of the source file in which a specified class is<br />

used can be displayed. Using the class usage information, the part that uses a<br />

specified class can be retrieved.<br />

■ Class Usage Information<br />

Select the [Class Usage] command in the class inheritance pop-up menu to display the Class<br />

Usage Information window.<br />

200<br />

❍ Display items<br />

Figure 16.5-1 Example of Class Usage Information Window<br />

File Name: Name of source file in which the class is used<br />

Function Name: Name of function in which the class is used<br />

Line: Number representing the line on which the class is used<br />

Double-click the source file name displayed in the Class Usage Information window. The part of<br />

the source file that uses the class is displayed in the edit window.


16.6 Friend Information<br />

16.6 Friend Information<br />

The friend declaration information (i.e., friend name, attribution, and type) of a<br />

specified class can be displayed. Using the friend information, the friend declaration<br />

of an arbitrary class can be known.<br />

■ Friend Information<br />

Select the [Friends] command displayed in the class inheritance pop-up window. The Friend<br />

Information window is displayed. When there is no friend information, a message indicating<br />

there is no friend information is displayed.<br />

❍ Display items<br />

Figure 16.6-1 Example of Friend Information Window<br />

File Name: Name of source file in which a friend is declared<br />

Friend Name: Name of friend<br />

Friend Attribution: Attribution (function, class, etc.) of friend<br />

Type: Type of friend<br />

Double-click a source file name displayed in the Friend Information window. The source file is<br />

displayed in the edit window.<br />

201


CHAPTER 16 CLASS INFORMATION<br />

202


CHAPTER 17 NAME SPACE<br />

This chapter explains the display and operation of the name space information.<br />

17.1 "Displaying Name Space Information"<br />

203


CHAPTER 17 NAME SPACE<br />

17.1 Displaying Name Space Information<br />

The information on a name space used in the C/<strong>C++</strong> program can be displayed.<br />

■ Displaying Name Space Information<br />

When a graph flow is displayed, the information on a name space can be referenced.<br />

■ Name Space Information<br />

The names of the name spaces used in the analyzed <strong>C++</strong> program are displayed.<br />

Figure 17.1-1 "Example of Name Space Information Window" is an example of the Name Space<br />

Information window.<br />

204<br />

Figure 17.1-1 Example of Name Space Information Window<br />

❍ Name Spaces<br />

A list of the name spaces used in the analyzed C/<strong>C++</strong> program is displayed. When there are<br />

two or more source files, the source file names are also displayed in the Name Spaces field.<br />

Click a name space name displayed in the Names Space field. The Name Space Content<br />

window is displayed to show detailed information.<br />

■ Name Space Content<br />

Detailed information on a specified name space is displayed.<br />

Figure 17.1-2 "Example of the Name Space Content Window" is an example of the Name<br />

Space Content window.<br />

Figure 17.1-2 Example of the Name Space Content Window


17.1 Displaying Name Space Information<br />

❍ Member<br />

Member name of name space, identifier of name space alias definition, identifier of "using"<br />

declaration, or identifier of "using" command<br />

❍ Type<br />

Type of name space member<br />

❍ File Name<br />

The name of a source file in which the member name of a name space is declared<br />

❍ Line<br />

Number representing the source-file line on which the member name of a name space is<br />

declared<br />

Double-click a file name displayed in the Name Space Content window to display the membername-using<br />

part of the source file in the edit window.<br />

205


CHAPTER 17 NAME SPACE<br />

206


CHAPTER 18 LOGIC FLOW<br />

This chapter explains how to display and operate Logic Flow<br />

18.1 "Selecting Logic Flow"<br />

18.2 "Display Logic Flow"<br />

18.3 "Logic Flow Pop-Up Menu"<br />

207


CHAPTER 18 LOGIC FLOW<br />

18.1 Selecting Logic Flow<br />

The pop-up menu is displayed by moving the mouse pointer to the function box<br />

displayed in the Graph Flow window, or the class box displayed in the Class<br />

Inheritance Relationships Diagram and clicking the right side of the mouse.<br />

■ Select Logic Flow<br />

The Logic Flow window can be displayed from the following locations:<br />

208<br />

Graph Flow window: Function box pop-up menu<br />

Class inheritance relationships diagram: Class box pop-up menu<br />

Summary window: Pop-up menu within the window<br />

Xreference: Pop-up menu within the window<br />

Call Tree window: Function pop-up menu<br />

Function List window: Function pop-up menu, or by double-clicking the mouse<br />

Figure 18.1-1 "Graph Flow Pop-up Menu (Selecting Logic Flow)" shows an example of how to<br />

select Logic Flow<br />

Figure 18.1-1 Graph Flow Pop-up Menu (Selecting Logic Flow)


18.2 Display Logic Flow<br />

18.2 Display Logic Flow<br />

The source program file containing the specified function is displayed in an arranged<br />

format.<br />

■ Display Logic Flow<br />

Figure 18.2-1 "Logic Flow Window Example" shows an example of the Logic Flow window<br />

Figure 18.2-1 Logic Flow Window Example<br />

The (line) column shows the source file line number.<br />

The (inc) column shows the depth of the structure of the source program included using the<br />

#include pre-processing command.<br />

These are displayed as if statements, for statements, switch statements, break statements, goto<br />

statements, while statements, return statements, continue statements, class declarations,<br />

structure declarations, and shared structure declarations.<br />

209


CHAPTER 18 LOGIC FLOW<br />

210<br />

Figure 18.2-2 Example of Statements and Declarations


18.3 Logic Flow Pop-Up Menu<br />

18.3 Logic Flow Pop-Up Menu<br />

The pop-up menu is displayed by clicking the right mouse button within the Logic Flow<br />

window.<br />

■ Logic Flow Pop-up Menu<br />

Figure 18.3-1 Logic Flow Pop-up Menu<br />

"Comment" command: Specifies whether to display or not display the comment in the Logic<br />

Flow display.<br />

"User Include" command: Specifies whether to display or not display the contents of the User<br />

Include file in the Logic Flow display.<br />

"System Include" command: Specifies whether to display or not display the contents of the<br />

System Include file in the Logic Flow display.<br />

"Find" command: Searches for text in the Logic Flow window.<br />

211


CHAPTER 18 LOGIC FLOW<br />

212


CHAPTER 19 SUMMARY<br />

This chapter explains how to display and operate Summary<br />

19.1 "Selecting Summary"<br />

19.2 "Displaying Summary"<br />

19.3 "How to Measure and Use Complexity"<br />

19.4 "Summary Pop-up Menu"<br />

19.5 "Searching for Text"<br />

213


CHAPTER 19 SUMMARY<br />

19.1 Selecting Summary<br />

The pop-up menu is displayed within Graph Flow by moving the mouse pointer to the<br />

function box displayed in the Graph Flow window and clicking the right side of the<br />

mouse.<br />

■ Selecting Summary<br />

Figure 19.1-1 "Example of the Graph Flow Pop-up Menu (Selecting Summary)" shows an<br />

example of selecting Summary<br />

214<br />

Figure 19.1-1 Example of the Graph Flow Pop-up Menu (Selecting Summary)


19.2 Displaying Summary<br />

Displays the Summary for the function specified in the Graph Window.<br />

19.2 Displaying Summary<br />

■ Displaying Summary<br />

Figure 19.2-1 "Example of Summary Window" displays an example of the Summary window.<br />

Figure 19.2-1 Example of Summary Window<br />

The following information is displayed in the Summary.<br />

❍ Function Name<br />

Displays the function name<br />

❍ File<br />

Displays the name of the source file containing the function. Double-clicking the source file<br />

name will permit the user to edit the source file using an editor. For information on the editor,<br />

see "Editing the Program."<br />

❍ Memory Classes<br />

Displays function memory classes.<br />

❍ Complexity<br />

Displays complexity level. For information on complexity, see "How to Measure and Use<br />

Complexity."<br />

❍ Number of Statements<br />

Displays the number of statements that include functions.<br />

215


CHAPTER 19 SUMMARY<br />

216<br />

❍ Callee Functions<br />

Displays the name of the callee functions. If no function procedures exist in the analyzed<br />

source program, an * mark is placed at the start of the callee function name.<br />

❍ Caller Functions<br />

Caller functions are displayed.<br />

❍ If Statement<br />

Displays the number of times the if statement appears.<br />

❍ Switch Statement<br />

Displays the number of times the switch statement appears.<br />

❍ While Statement<br />

Displays the number of times the while statement appears.<br />

❍ Do-while Statement<br />

Displays the number of times the do-while statement appears.<br />

❍ For Statement<br />

Displays the number of times the for statement appears.<br />

❍ Continue Statement<br />

Displays the number of times the continue statement appears.<br />

❍ Break Statement<br />

Displays the number of times the break statement appears.<br />

❍ Return Statement<br />

Displays the number of times the return statement appears.<br />

❍ Goto Statement<br />

Displays the number of times the go to statement appears.<br />

❍ Asm Statement<br />

Displays the number of times the asm statement appears.<br />

❍ Labels<br />

Displays the number of Labels that appear.<br />

❍ Case Labels<br />

Displays the number of Case labels that appear.<br />

❍ Default<br />

Displays the number of Default labels that appear.


19.3 How to Measure and Use Complexity<br />

The initial complexity value for each function is set to 1.<br />

■ Measuring Complexity<br />

Complexity is increased according to the following rules:<br />

■ How to Use Complexity<br />

19.3 How to Measure and Use Complexity<br />

When an if statement, while statement, for statement, do-while statement, goto statement, or<br />

switch statement appears, 1 is added.<br />

Where statement labels or case labels appear, the number is added.<br />

If the complexity level is high, the control structure for that function is also complex, thereby<br />

increasing the likelihood of bugs occurring.<br />

217


CHAPTER 19 SUMMARY<br />

19.4 Summary Pop-up Menu<br />

The pop-up menu is displayed in the window by clicking the right side of the mouse in<br />

the Summary window.<br />

■ Summary Pop-up Menu<br />

Figure 19.4-1 "Summary Pop-up Menu" is an example of the Summary pop-up menu.<br />

218<br />

Figure 19.4-1 Summary Pop-up Menu<br />

"Copy" command: Stores the selected text on the clipboard. Provides the same feature as<br />

the "Copy" command from the "Edit" menu.<br />

"Select All" command: Selects the text displayed in the Summary window. Provides the<br />

same feature as the "Select All" command from the "Edit" menu.<br />

"Logic Flow" command: Displays the logic flow of the specified function.<br />

"Find" command: Searches for text displayed in the Summary window. Provides the same<br />

feature as the "Find" command from the "Display" menu.


19.5 Searching for Text<br />

Text displayed in the Summary window can be searched.<br />

19.5 Searching for Text<br />

■ Searching for Text<br />

The "Find" dialog box is displayed using the "Find" command from the "Display" menu or by<br />

clicking the "Find" command from the Summary pop-up menu.<br />

Figure 19.5-1 "Summary "Find" Dialog Box" shows the Summary "Find" dialog box.<br />

Figure 19.5-1 Summary "Find" Dialog Box<br />

Enter the text to be searched for into the "Find what" box, then click the "Find Next" button to<br />

start the search in the specified order.<br />

219


CHAPTER 19 SUMMARY<br />

220


CHAPTER 20 CROSS REFERENCE<br />

This chapter explains how to display and operate Cross Reference.<br />

20.1 "Selecting Cross Reference"<br />

20.2 "Displaying Cross Reference"<br />

20.3 "Cross Reference Pop-up Menu"<br />

20.4 "Searching for Text"<br />

221


CHAPTER 20 CROSS REFERENCE<br />

20.1 Selecting Cross Reference<br />

The pop-up menu is displayed within the Graph Flow by moving the mouse pointer to<br />

the function box displayed in the Graph Flow window and clicking the right side of the<br />

mouse.<br />

■ Selecting Cross Reference<br />

Figure 20.1-1 "Graph Flow Pop-up Menu Example (Selecting Cross Reference)" is an example<br />

of Cross Reference being selected<br />

222<br />

Figure 20.1-1 Graph Flow Pop-up Menu Example (Selecting Cross Reference)


20.2 Displaying Cross Reference<br />

20.2 Displaying Cross Reference<br />

Displays Cross Reference for the specified function within the Graph Flow window.<br />

■ Displaying Cross Reference<br />

Figure 20.2-1 "Cross Reference Window Example" is an example of the Cross Reference<br />

window<br />

Figure 20.2-1 Cross Reference Window Example<br />

■ Variable/Function Information<br />

The following information is displayed for variable/function information.<br />

❍ Name<br />

Displays variable name, function name, parameter name, and enumerator name.<br />

❍ Attributes<br />

The following attributes are displayed.<br />

Variable<br />

Function<br />

Parameter<br />

Enumerator<br />

223


CHAPTER 20 CROSS REFERENCE<br />

224<br />

Furthermore, in the case of an extern declaration, extern, in the case of a static declaration,<br />

static, in the case of a prototype declaration, prototype, in the case of a function definition,<br />

definition, and in the case of an implicit declaration, implicit is additionally displayed.<br />

❍ Type<br />

Displays variable type, function result type, and parameter type are displayed.<br />

❍ Line Number<br />

Displays the definitions, declarations, settings, and reference line numbers for variables,<br />

functions, parameters, and enumerators and uses thereof.<br />

■ Tag/Type Definition Information<br />

The following information is displayed for tag/type definition information.<br />

❍ Name<br />

Displays structure tag names, shared structure tag names, enumerator tag names, and typedef<br />

declared names.<br />

❍ Type<br />

The following tag names and typedef-declared name types.<br />

❍ Types<br />

Tag and type definition base types are displayed.<br />

❍ Definition<br />

Defined line numbers are displayed.<br />

■ Macro Information<br />

The following information is displayed.<br />

❍ Macro Name<br />

The name of the macro being used is displayed.<br />

❍ Replacement Text<br />

When defining a macro, the replacement text is displayed. If the macro is made invalid, this is<br />

left blank.<br />

❍ #define<br />

When defining a macro, the defined line numbers are displayed. If the macro is made invalid,<br />

this is left blank.<br />

❍ #undef<br />

When making a macro invalid, the invalid line numbers are displayed. When defining a macro,<br />

these are left blank.<br />

■ File Name Information<br />

The following information is displayed.<br />

The name of source files or included source files containing variable names, function names,


20.2 Displaying Cross Reference<br />

tag name or macro definitions, and reference numbers thereof.<br />

In the case that the line numbers in which the variable names, function names, tag name<br />

definitions, and macro definitions appear are include file line numbers, the reference number is<br />

displayed directly after the line number. It is possible to know the name of files in which variable<br />

names, function names, tag name definitions, and macro definitions appear by looking at this<br />

reference number.<br />

When there is no reference number placed next to the line number, the file name becomes the<br />

reference number (*0).<br />

Reference:<br />

By double-clicking the name of the source file in the Cross Reference window, it is possible<br />

to edit the source program using an editor. See "Editing the Program" for information on the<br />

editor.<br />

225


CHAPTER 20 CROSS REFERENCE<br />

20.3 Cross Reference Pop-up Menu<br />

The pop-up menu is displayed in the window by moving the mouse pointer to the<br />

Cross Reference window and clicking the right side of the mouse.<br />

■ Cross Reference Pop-up Menu<br />

Displays an example of the Cross Reference pop-up menu.<br />

226<br />

Figure 20.3-1 Cross Reference Pop-up Menu<br />

❍ "Variable/Function Information" Command<br />

Specifies whether or not to display information on Cross Reference variables and functions.<br />

❍ "Tag/Type Information" Command<br />

Specifies whether or not to display information on Cross Reference tags/types.<br />

❍ "Macro Information" Command<br />

Specifies whether or not to display information on Cross Reference macros.<br />

❍ "File Name Information" Command<br />

Specifies whether or not to display information on Cross Reference file names<br />

❍ "Copy" Command<br />

Places the selected text onto the clipboard. This has the same effect as the "Copy" command<br />

from the "Edit" menu.<br />

❍ "Select All" Command<br />

Selects the text displayed in the Cross Reference window. This has the same effect as the<br />

"Select All" command from the "Edit" menu.<br />

❍ "Logic Flow" Command<br />

Displays the logic flow of the specified function.


❍ "Find" Command<br />

20.3 Cross Reference Pop-up Menu<br />

Searches for text displayed within the Cross Reference window. This has the same effect as<br />

the "Find" command from the "Display" menu.<br />

227


CHAPTER 20 CROSS REFERENCE<br />

20.4 Searching for Text<br />

Searches for text within the Cross Reference window.<br />

■ Searching for Text<br />

The "Find" dialog box in Figure 20.4-1 "Cross Reference "Find" Dialog Box" is displayed by<br />

clicking the "Find" command from the "Display" menu or the "Find" command.<br />

228<br />

Figure 20.4-1 Cross Reference "Find" Dialog Box<br />

Enter the text to be searched for in to the "Find What" box, specify the search direction, and<br />

click the "Find next" button to start the search in the specified direction.<br />

Clicking the "Find previous" command in the "Display" menu will start the search in the opposite<br />

direction.<br />

Furthermore, clicking the "Find previous" or "Find next" command in the "Display" menu will give<br />

search priority to the "Find previous" or "Find next" command from the "Display" menu.


CHAPTER 21 PROGRAM EDITING<br />

This chapter explains how to start the standard editor and how to edit the program.<br />

21.1 "Activate the Standard Editor"<br />

21.2 "External Editor Setup"<br />

21.3 "Standard Editor Setup"<br />

21.4 "Standard Editor Pop-up Menu"<br />

21.5 "Other Functions"<br />

229


CHAPTER 21 PROGRAM EDITING<br />

21.1 Activate the Standard Editor<br />

Activate the standard editor by clicking the "New Edit File" command or the "Open<br />

Edit File" command from the "File" menu.<br />

It is also possible to activate and edit using the specified standard editor by doubleclicking<br />

the name of the source file listed within each analysis window.<br />

■ Activate the Standard Editor<br />

Specifying the "New Edit File" command from the "File" menu will display an untitled edit<br />

window.<br />

Figure 21.1-1 "Standard Editor Activation Screen Example" is an example of the screen of a<br />

standard editor upon activation.<br />

230<br />

Figure 21.1-1 Standard Editor Activation Screen Example<br />

The standard editor can be started from the following analysis windows. See the explanations<br />

for the analysis windows for details on how to activate.<br />

Analysis Message Window<br />

Function Name List Window<br />

Inline Candidate Window<br />

Summary Window<br />

Xreference Window


21.2 External Editor Setup<br />

21.2 External Editor Setup<br />

The C/<strong>C++</strong> analyzer has the standard editor function. An external editor can also be<br />

called using the customization function. This section explains how to set up the<br />

external editor.<br />

■ External Editor Setup<br />

With the graph flow window not displayed, select the [Editor Customize] command displayed in<br />

the [Setup] menu to display the CUSTOMIZE dialog box.<br />

Figure 21.2-1 Customization Dialog Box Example<br />

Check the [Use External Editor] check box to register and use a familiar external editor.<br />

❍ Editor name<br />

Register the name of the editor used.<br />

231


CHAPTER 21 PROGRAM EDITING<br />

232<br />

❍ Full path of the executive file<br />

Specify the full-path of the execution file of the editor.<br />

❍ Current directory for the editor<br />

Specify the directory which starts the editor.<br />

❍ Opening command-line<br />

Specify the argument passed to the editor.<br />

❍ List<br />

The registration situation of the editor is displayed.


21.3 Standard Editor Setup<br />

21.3 Standard Editor Setup<br />

With the standard editor selected, clicking the "Editor Customize" command from the<br />

"Setup" menu will display the standard editor setup dialog box.<br />

■ Standard Editor Setup (General)<br />

Figure 21.3-1 "Standard Editor Setup Dialog Box (General)" shows the standard editor setup<br />

dialog box (General).<br />

Figure 21.3-1 Standard Editor Setup Dialog Box (General)<br />

The following display features can be set up and colors can be displayed from the standard<br />

editor setup window (General).<br />

❍ EOF<br />

Displays the end of file symbol EOF.<br />

❍ Line Number<br />

Displays the logical line number on the left of the edit window.<br />

❍ Return Character<br />

Displays the return code with a special symbol.<br />

❍ Ruler<br />

Displays the ruler in the edit window.<br />

233


CHAPTER 21 PROGRAM EDITING<br />

234<br />

❍ Wide Char Space<br />

Displays wide char space with a special symbol.<br />

❍ Comment<br />

Emphasizes the comment section.<br />

❍ Tab<br />

Displays the tab code as a special character.<br />

❍ Error Tag<br />

Sets the tag display character according to the error jump.<br />

❍ Tab & Indent<br />

Automatic Indent: Automatically matches the indent with the intent on the preceding line.<br />

Tab Display: Displays the tab as a special symbol.<br />

Tab: Displays the number of tab code skips.<br />

■ Standard Editor Setup (Key Words)<br />

Figure 21.3-2 "Standard Editor Setup Dialog Box (Key Words)" shows the standard editor setup<br />

dialog box (Key Words)<br />

Figure 21.3-2 Standard Editor Setup Dialog Box (Key Words)<br />

Shows the emphasis for each key word. The display color can be set using the button on the<br />

right.


❍ C language keyword emphasis<br />

Displays key words defined in the C language key word file in bold.<br />

❍ <strong>C++</strong> language keyword emphasis<br />

Displays key words defined in the <strong>C++</strong> language key word file in bold.<br />

❍ ASM keyword emphasis<br />

Displays key words defined in the ASM keyword file in bold.<br />

❍ Extensional keyword<br />

Displays key words defined in the extensional keyword file in bold.<br />

❍ User defined-function<br />

A REALOS system call etc. in the keyword defined as the keyword file in bold.<br />

❍ Search Results<br />

Displays search results in bold.<br />

❍ Register Keyword Button<br />

Displays the Registration of Keywords dialog box.<br />

Figure 21.3-3 Registration of Keywords Dialog Box<br />

21.3 Standard Editor Setup<br />

Using the Registration of Keywords dialog box, each type of keyword file can be set up.<br />

❍ Language<br />

Sets the language type. You can choose C, <strong>C++</strong>, Assembler or Extensional.<br />

❍ Initialize<br />

Registers key word in its initial state.<br />

❍ Add<br />

Adds key word.<br />

❍ Remove<br />

Removes key word.<br />

235


CHAPTER 21 PROGRAM EDITING<br />

21.4 Standard Editor Pop-up Menu<br />

The pop-up menu is displayed in the edit window by clicking the right side of the<br />

mouse in the standard editor edit window.<br />

■ Standard Editor Pop-up Menu<br />

Figure 21.4-1 "Example of Standard Editor Pop-up Menu" shows the standard editor pop-up<br />

menu.<br />

236<br />

Figure 21.4-1 Example of Standard Editor Pop-up Menu<br />

❍ "Undo"<br />

Cancels the most recent edit and the state is returned to that before the edit. When duplicate<br />

characters or duplicate lines are edited at the same time, the section is restored at the same<br />

time.<br />

❍ "Redo"<br />

Cancels the edit carried out by the "Undo" command.<br />

❍ "Cut"<br />

Cuts the selected area and places the cut content onto the clipboard.<br />

❍ "Copy"<br />

Places the selected area onto the clipboard.


❍ "Paste"<br />

Pastes the text stored on the clipboard.<br />

❍ "Delete"<br />

Deletes the selected area but does not place it on the clipboard.<br />

❍ "Select All"<br />

Selects all of the displayed text.<br />

❍ Find<br />

The character sequence in the specified edit window is searched.<br />

21.4 Standard Editor Pop-up Menu<br />

❍ Replace<br />

The character sequence in the specified edit window is searched and replaced.<br />

❍ Find in Files<br />

It searches whether there is any character sequence specified in the specified file.<br />

237


CHAPTER 21 PROGRAM EDITING<br />

21.5 Other Functions<br />

This section explains the various features available while the standard editor edit<br />

window is displayed.<br />

■ "File" Menu<br />

■ "Edit" Menu<br />

238<br />

❍ "New Edit File" command<br />

Creates a new text file<br />

❍ "Open Edit File" command<br />

Opens a file for editing.<br />

❍ "Close" command<br />

Closes the active edit window.<br />

❍ "Save" command<br />

Saves the amended file.<br />

❍ "Save as.." command<br />

Saves the amended file with a new name.<br />

❍ "Undo"<br />

Cancels the most recent edit and the state is returned to that before the edit. Where duplicate<br />

characters or duplicate lines are edited at the same time, the section is restored at the same<br />

time.<br />

❍ "Cut"<br />

Cuts the selected area and places the cut content onto the clipboard.<br />

❍ "Copy"<br />

Places the selected area onto the clipboard.<br />

❍ "Paste"<br />

Pastes the text stored on the clipboard.<br />

❍ Find<br />

The character sequence in the specified edit window is searched.<br />

❍ Replace<br />

The character sequence in the specified edit window is searched and replaced.


❍ Find in Files<br />

It searches whether there is any character sequence specified in the specified file.<br />

21.5 Other Functions<br />

239


CHAPTER 21 PROGRAM EDITING<br />

240


CHAPTER 22 MAX USED STACK<br />

This chapter will explain how to display and operate the max used stack.<br />

22.1 "Max Used Stack (Specified Function)"<br />

22.2 "Max Used Stack (All Functions)"<br />

22.3 "Max Used Stack Route (Specified Function)"<br />

22.4 "Max Used Stack Route (All Functions)"<br />

22.5 "Max Used Stack Route Focus"<br />

241


CHAPTER 22 MAX USED STACK<br />

22.1 Max Used Stack (Specified Function)<br />

It is possible to show the max used stack for the function specified in the graph flow<br />

window.<br />

■ Display of Max Used Stack for Specified Function<br />

242<br />

Figure 22.1-1 Show Max Used Stack (Specified Function)<br />

Proceed as follows to show the max used stack for the specified function:<br />

1. Display undefined functions by clicking the "All Functions" command from the graph flow<br />

window pop-up menu.<br />

2. In the "Graph Flow" window, move the mouse to the box of the function for which the max<br />

used stack is to be displayed and choose "Show Max Used Stack" from the "Graph Flow"<br />

pop-up menu.<br />

3. The max used stack can be displayed for the specified function. The max used stack of the<br />

callee function is not taken into consideration at this time.<br />

Note:<br />

To calculate the max used stack, individual C/<strong>C++</strong> source files must be created for used<br />

stack information files using the C/<strong>C++</strong> Analyzer compile feature.


22.2 Max Used Stack (All Functions)<br />

22.2 Max Used Stack (All Functions)<br />

Displays the max used stack for all function boxes in the graph flow window.<br />

■ Display of Max Used Stack for All Functions<br />

Figure 22.2-1 Show Max Used Stack (All Functions)<br />

Proceed as follows to show the max used stack for all functions:<br />

1. Display undefined functions by clicking the "All Functions" command from the graph flow<br />

window pop-up menu.<br />

2. Max used stack can be shown for all displayed functions by clicking the "Max Stack"<br />

command from the "Display" menu.<br />

Note:<br />

To calculate the max used stack, individual C/<strong>C++</strong> source files must be created for used<br />

stack information files using the C/<strong>C++</strong> Analyzer compile feature.<br />

243


CHAPTER 22 MAX USED STACK<br />

22.3 Max Used Stack Route (Specified Function)<br />

Based on the function specified in the graph flow window (as a base point), displays<br />

the route of the function that uses the largest number of stacks.<br />

■ Display of Max Used Stack Route for Specified Functions<br />

244<br />

Figure 22.3-1 Show Max Used Stack Route (Specified Function)<br />

Proceed as follows to show the max used stack route for the specified function:<br />

1. Display undefined functions by clicking the "All Functions" command from the graph flow<br />

window pop-up menu.<br />

2. In the "Graph Flow" window, move the mouse to the box of the function for which the max<br />

used stack route is to be displayed and choose "Max Used Stack Route" from the "Graph<br />

Flow" pop-up menu.<br />

3. With the specified function as a base point, the route using the most stacks for that function<br />

is displayed.<br />

Note:<br />

To calculate the max used stack, individual C/<strong>C++</strong> source files must be created for used<br />

stack information files using the C/<strong>C++</strong> Analyzer compile feature.


22.4 Max Used Stack Route (All Functions)<br />

22.4 Max Used Stack Route (All Functions)<br />

Displays the route of the function using the most stacks in the program within the<br />

graph flow window.<br />

■ Display of Max Used Stack Route for All Functions<br />

Figure 22.4-1 Display of Max Used Stack Route (All Functions)<br />

Proceed as follows to show the max used stack route for all functions:<br />

1. Display undefined functions by clicking the "All Functions" command from the graph flow<br />

window pop-up menu.<br />

2. Max used stack can be shown for all displayed functions by clicking the "Max Stack"<br />

command from the "Display" menu.<br />

3. The route for the function using the most stacks in the program can be shown by clicking the<br />

"Max Used Stack Route" command from the "Display" menu.<br />

Note:<br />

To calculate the max used stack, individual C/<strong>C++</strong> source files must be created for used<br />

stack information files using the C/<strong>C++</strong> Analyzer compile feature.<br />

245


CHAPTER 22 MAX USED STACK<br />

22.5 Max Used Stack Route Focus<br />

Focuses on the max used stack route displayed in the graph flow window.<br />

■ Display of Max Used Stack Route Focus<br />

246<br />

Figure 22.5-1 Max Used Stack Route Focus<br />

Proceed as follows to focus on the max used stack route:<br />

1. When the max used stack is not shown, show the max used stack for all functions displayed<br />

by clicking the "Max Used Stack" command from the "Display" menu.<br />

2. Display the max used stack route using the "Max Used Stack Route" from the "Display"<br />

menu, or the "Max Used Stack Route" from the "Graph Flow" menu.<br />

3. Display the "Graph Flow" pop-up menu and click the "Focus [Max Used Stack Route]"<br />

command.<br />

4. This will focus on the max used stack route.<br />

Note:<br />

To calculate the max used stack, individual C/<strong>C++</strong> source files must be created for used<br />

stack information files using the C/<strong>C++</strong> Analyzer compile feature. Furthermore, unless the<br />

max used stack route is displayed in advance, clicking the "Focus [Max Used Stack Route]"<br />

command will not display anything in the graph flow window. Clicking the "Focus [Max Used<br />

Stack Route]" command again will return the window to its previous state.


CHAPTER 23 USED STACK INFORMATION<br />

This chapter explains used stack information and max used stack.<br />

23.1 "Calculating Max Used Stack"<br />

23.2 "Limitations on the Max Used Stack"<br />

23.3 "Creating a Stack Information File"<br />

247


CHAPTER 23 USED STACK INFORMATION<br />

23.1 Calculating Max Used Stack<br />

Calculation of the max used stack is explained as follows.<br />

■ Calculating Max Used Stack<br />

To calculate the max used stack using C/<strong>C++</strong> Analyzer, individual C and <strong>C++</strong> source programs<br />

must be created for used stack information files in advance using the C/<strong>C++</strong> compiler.<br />

■ How to Calculate the Max Used Stack<br />

The max used stack for the function func is calculated as follows:<br />

1. The stack size secured by function func is n bytes.<br />

2. The function func calls the functions sub0, sub1, ...., subn.<br />

3. The max used stacks used by the functions called by the function func is s1, s2, ..., sn bytes.<br />

4. Of the max used stacks of the functions called by function func, the largest is called sm<br />

bytes.<br />

5. The max used stack of the function func is n+sm bytes.<br />

248<br />

When the function func does not call functions, the max used stack for the function func equals<br />

the stack size secured by the function func.


23.2 Limitations on the Max Used Stack<br />

This section explains the limitations on the max used stack.<br />

■ Limitations on the Max Used Stack<br />

The following items exist as limitations on calculating the max used stack.<br />

23.2 Limitations on the Max Used Stack<br />

❍ When the asm statement exists within the C/<strong>C++</strong> source program.<br />

As the C/<strong>C++</strong> compiler cannot obtain information for functions or secured stacks when an asm<br />

statement is defined within the C/<strong>C++</strong> source program, it cannot make an accurate calculation<br />

of the max used stack.<br />

❍ Where recursive functions exist<br />

When calculating the max used stack, the max used stack for called functions must be known.<br />

As a result, if there is a recursive function, the processing is never completed. The calculation<br />

feature for the max used stack, therefore, considers the max used stack for recursively called<br />

functions as being the stack size secured by that function and does not consider the max used<br />

stack of functions called by that function. As a result, it cannot accurately calculate the max<br />

used stack.<br />

❍ Where a function is called by a pointer<br />

When calculating the max used stack, the max used stack for called functions must be known.<br />

However, when calling the function from a pointer, it is not possible to ascertain the essence of<br />

the function, making it impossible to calculate the max used stack of called functions. The<br />

calculation feature for the max used stack, therefore, calculates the max used stack of functions<br />

called by a pointer to be 0 bytes. As a result, it cannot accurately calculate the max used stack.<br />

❍ When there is a call to a REALOS system call function<br />

As the C/<strong>C++</strong> compiler cannot obtain information for calls to REALOS system call functions<br />

within the C/<strong>C++</strong>, it cannot make an accurate calculation of the max used stack.<br />

❍ When calling a function for whom function definition information does not exist<br />

When calculating the max used stack of called functions, function definition information for those<br />

called functions must be known. When definition information does not exist for those called<br />

functions, the max used stack calculation tool calculates the max used stack of those called<br />

functions as 0 bytes. As a result, it cannot accurately calculate the max used stack.<br />

❍ When standard library functions are used<br />

The qsort function carries out recursive function calls. Therefore, the same limitations exist for<br />

"Where recursive functions exist."<br />

Furthermore, the bsort, exit and qsort functions all make function calls using pointers.<br />

Therefore, the same limitations exist for "Where a function is called by a pointer."<br />

Of the above limitation items, excepting "Where there is a call to a REALOS system call<br />

function", the max used stack calculation feature will output a relevant warning message within<br />

the C/<strong>C++</strong> Analyzer analysis window when the above limitations occur.<br />

249


CHAPTER 23 USED STACK INFORMATION<br />

23.3 Creating a Stack Information File<br />

This section explains how to create a stack information file. Methods of creating used<br />

stack information include using the C/<strong>C++</strong> compiler used stack information display<br />

feature and using an editor.<br />

■ Method of Creating Using the C/<strong>C++</strong> Compiler<br />

The used stack information file is created using the C/<strong>C++</strong> compiler and the C/<strong>C++</strong> compiler<br />

used stack information display feature.<br />

The used stack information file can be created using the C/<strong>C++</strong> compiler used stack information<br />

display feature with the C/<strong>C++</strong> source program.<br />

The used stack information file created using the C/<strong>C++</strong> compiler used stack information display<br />

feature can be used without modification as a used stack information file.<br />

For details on the C/<strong>C++</strong> compiler used stack information display feature, refer to the C/<strong>C++</strong><br />

compiler manual.<br />

■ Method of Creating Using the Editor<br />

To create a used stack information file using an editor, create a text file in the format described<br />

below.<br />

The numbers of characters per line used for the stack information file must be within 1,024<br />

including the line break character.<br />

The used stack information file cannot consist of blank lines (lines consisting only of spaces).<br />

250<br />

❍ Comment line<br />

The used stack information file can include comments.<br />

If the first character of a line is the character "#", the line is recognized as a comment.<br />

[Example]<br />

#Comment<br />

❍ Module name description line<br />

Describes the module names (C source programs) defined by the functions that appear in the<br />

function definition information to follow.<br />

When the first line starts with the "@" character, it is recognized as a module name description.<br />

The module name description line describes the module names defined in the functions in the<br />

function definition information to follow.<br />

It is not permitted to leave a space or tab between the "@" character and the module name.<br />

When the stack information file is not in the same directory as the module name, use the<br />

absolute path to describe the module name.<br />

[Example]<br />

@C:\demo\test.c<br />

In the used stack information file output by the C compiler, a "!" character may be included in


23.3 Creating a Stack Information File<br />

the first line as a module name description line, thereby indicating that the asm statement is<br />

included within the module. This is used by the max used stack calculation feature as<br />

information when outputting a warning message. Where a C source program used stack<br />

information file including an asm statement is edited using an editor, and it reflects information<br />

concerning the stack size secured by the asm statement or the function defined in the asm<br />

statement, it is possible to prevent the output of unnecessary warning messages by changing<br />

that section to "@".<br />

❍ Function Definition Information Line<br />

Describes the secured stack size, attributes, and name of a function.<br />

When describing the function definition information line, the module descriptions must be<br />

included at the beginning.<br />

Describes the secured stack size, attributes, and name of functions defined within the modules<br />

included within the module name description line.<br />

The function definition information line uses the following format.<br />

secured stack size attributes Function name asm attributes<br />

The stack size, attributes, and function name must be separated by one or more spaces or tabs.<br />

Secured Stack Size<br />

The secured stack size can be expressed in base 8, base 10, or base 16 formats.<br />

For the secured stack size, the total number of the greatest stack sizes for stack size<br />

secured at the beginning of that function and the stack size secured when the function<br />

was called is used.<br />

If the secured stack size starts with "0x", it will be recognized as being in base 16 format.<br />

If the secured stack size starts with "0", it will be recognized as being in base 8 format.<br />

In other cases, it will be recognized as being in base 10 format.<br />

Attributes<br />

Describes attributes of functions.<br />

External functions are indicated by "E", static functions as "S", and interrupt functions by<br />

"I".<br />

Furthermore, when the function is called using a pointer, a "*" is added to the symbol<br />

described above.<br />

Function Name<br />

The name of the function is described as a symbol in assembler source.<br />

[Example]<br />

@C:\demo\test.c<br />

20 E test<br />

24 ER func<br />

28 S* _sub<br />

asm Attributes<br />

asm statements within a function are indicated by "A".<br />

251


CHAPTER 23 USED STACK INFORMATION<br />

252<br />

[Example]<br />

!C:\demo\asm.c<br />

20 E test<br />

24 E func A<br />

28 S _sub<br />

❍ Function Call Information Line<br />

Describes the attributes and the name of functions called by the functions previously described<br />

in the function definition information line.<br />

The function call information line is expressed in the following format:<br />

Function-call-information-line-reference attributes function-name<br />

The function call information line reference, attributes, and function name must be separated by<br />

at least one space or tab.<br />

When describing the function call information line, the function definition information line must<br />

be placed at the beginning.<br />

Function Call Information Line Reference<br />

"->" is used as a reference mark to indicate the function call information line.<br />

Attributes<br />

Describes the attributes of called functions.<br />

Among the called functions, external functions are indicated by "E", static functions as<br />

"S", and calls by pointers with "*".<br />

Function names<br />

The name of the called function is described as a symbol in assembler source.<br />

When the call takes place via a pointer, the function can be named anything but cannot<br />

be omitted.<br />

Output from the C Compiler used stack display feature is output as "$pointer_call".<br />

[Example]<br />

@C:\demo\test.c<br />

20 E test<br />

-> E func<br />

-> S _sub<br />

24 ER func<br />

-> E func<br />

28 S _sub<br />

-> * $pointer_call<br />

❍ Function Calls Using a Pointer<br />

When function calls using a pointer are recognized in advance, the max used stack can be<br />

calculated by describing a function call information line for all functions called by the pointer<br />

instead of a function call information line for only the function called by the pointer. By making<br />

the same amendment to used stack information created using the C compiler, the max used<br />

stack can be calculated.


[Example Sample C source program]<br />

#include <br />

void<br />

fprintf( stdout,"func1\n");<br />

}<br />

void<br />

char buffer[255];<br />

sprintf( buffer,"func2\n");<br />

}<br />

void<br />

printf( "func3\n" );<br />

}<br />

void (*test[3])()={<br />

func1,<br />

func2,<br />

func3<br />

};<br />

void main()<br />

{<br />

(*test[2])(); /* call for func3() using a pointer */<br />

}<br />

[Example Stack information file (before modification)]<br />

@C:\demo\point.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

# ...<br />

#<br />

8 E _func1<br />

-> E _fprintf<br />

#<br />

264 E _func2<br />

-> E _sprintf<br />

#<br />

8 E _func3<br />

-> E _printf<br />

#<br />

8 E _main<br />

-> * $pointer_call<br />

23.3 Creating a Stack Information File<br />

253


CHAPTER 23 USED STACK INFORMATION<br />

254<br />

When using the C/<strong>C++</strong> Analyzer max stack feature, the following type of message is output.<br />

*** W1007N: A function call from a pointer has been detected in function "main"<br />

[Example Stack information file (after modification)]<br />

@C:\demo\point.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

# ...<br />

#<br />

8 E _func1<br />

-> E _fprintf<br />

#<br />

264 E _func2<br />

-> E _sprintf<br />

#<br />

8 E _func3<br />

-> E _printf<br />

#<br />

8 E _main<br />

-> E _func3<br />

The function call information line "$pointer_call" is replaced by the function func3( ) function call<br />

information line, and the max used stack can be calculated.<br />

It is necessary, however, to have a stack information file including the function definition<br />

information line for function func3( ).


CHAPTER 24 PRINTING<br />

This chapter explains the printing operation and features<br />

24.1 "Printing the Analysis Window"<br />

255


CHAPTER 24 PRINTING<br />

24.1 Printing the Analysis Window<br />

It is possible to print the content of each analysis window from C/<strong>C++</strong> Analyzer.<br />

■ Printing Print Information<br />

It is possible to print from the following analysis windows:<br />

256<br />

Graph flow window<br />

Function name list window<br />

Global variable window<br />

Inline candidate window<br />

const candidate window<br />

Logic flow window<br />

Summary window<br />

Xreference window<br />

Standard editor edit window<br />

■ Printer Setup<br />

The printer setup dialog box is displayed by clicking "Printer Setup" from the "Project" menu.<br />

The following can be set from the "Printer Setup" dialog box.<br />

❍ Printer Name:<br />

A list of the printers set up in the computer are displayed.<br />

❍ Properties:<br />

Displays the currently selected printer. The properties dialog box is displayed.<br />

❍ Output to file:<br />

Outputs the document to a file rather than directly to a printer. A dialog box is displayed to<br />

specify the file name and location.<br />

❍ Select Print Area<br />

Specifies the range to be printed.<br />

All (Prints the whole document)<br />

Pages (specifies the range of pages to print with two boxes)<br />

Selected area (prints the area currently selected in the document)<br />

❍ Copies<br />

Specifies the number of copies to print.


Figure 24.1-1 Printer Setup Dialog Box<br />

24.1 Printing the Analysis Window<br />

■ "Print Preview" Window<br />

Displays the content to be printed in the "Print Preview" window. The following items can be set<br />

in the "Print Preview" window.<br />

❍ "Print" button:<br />

Displays the "Print" dialog box.<br />

❍ "Print Setup" button:<br />

Sets the print format. When this button is selected, the "Print Setup" dialog box is displayed,<br />

and detailed settings for the printer can be specified.<br />

This feature is only displayed when the standard editor is selected.<br />

Columns: Sets the number of columns. It is possible to set either 1, 2, 3 or 4 columns. The<br />

default is 1.<br />

Print header : Sets whether or not to print a header. It is possible to set file names, page<br />

numbers and the date/time as headers. The default has no setting.<br />

Print footer : Sets whether or not to print a footer. It is possible to set file names, page<br />

numbers, and the date/time as footer. The default has no setting.<br />

Print line numbers: Sets whether to print line numbers or not. The default has no setting.<br />

Print key words in bold: Sets whether or not to print key words in bold. It is possible to set C/<br />

<strong>C++</strong> language, assembler language, and extensions as key words. The default has no<br />

setting.<br />

Top margin: Sets the top margin.<br />

Left margin: Sets the left margin.<br />

❍ "Next page" button:<br />

Displays a preview of the next page.<br />

❍ "Previous page" button:<br />

Displays a preview of the previous page.<br />

❍ "Enlarge" button:<br />

Shows the preview enlarged.<br />

257


CHAPTER 24 PRINTING<br />

258<br />

❍ "Reduce" button:<br />

Shows the preview reduced.<br />

❍ "Close" button:<br />

Closes the preview window.<br />

Figure 24.1-2 Print Preview Window


APPENDIX<br />

This appendix explains problems that may occur during the use of Softune C/<strong>C++</strong><br />

Analyzer.<br />

Appendix A "Troubleshooting"<br />

259


APPENDIX A TROUBLESHOOTING<br />

APPENDIX A TROUBLESHOOTING<br />

Solves technical problems that may be encountered when using Softune C/<strong>C++</strong><br />

Analyzer.<br />

Activation problems<br />

Development environment-related<br />

Max stack-related<br />

Standard editor-related<br />

Compatibility with lower versions<br />

Error messages<br />

Frequently asked questions<br />

■ Activation Problems<br />

260<br />

❍ Unable to start Softune C/<strong>C++</strong> Analyzer<br />

Unable to start and the message "CPANALYZE.EXE file is linked to the missing export<br />

OLEAUT32.DLL."<br />

[Answer]<br />

The cause of this problem is the use of an older version of Windows 95 that uses a library not<br />

compatible with the ACTIVE X feature. Execute the attached upgrade command oleaut.exe.<br />

❍ Period of use<br />

The message "[0] day of trial remaining" appears.<br />

[Answer]<br />

The version of Softune C/<strong>C++</strong> Analyzer being used is an evaluation version.<br />

This version can be used for 45 days after installment. To continue use, the full version must be<br />

purchased.<br />

❍ Unable to analyze C/<strong>C++</strong> source<br />

After the message "Analysis has started", the error message "Analysis of C/<strong>C++</strong> source has<br />

failed" is displayed.<br />

[Answer]<br />

The installation directory for C/<strong>C++</strong> Analyzer may not be set in the FETOOL environment<br />

variable.<br />

After setting the environment variable, run C/<strong>C++</strong> Analyzer again from the command line.<br />

Example<br />

> set FETOOL=C:\Softune5<br />

> %FETOOL%\bin\cpanalyze.exe


■ Development Environment-related<br />

■ Max Stack-related<br />

APPENDIX A TROUBLESHOOTING<br />

❍ "Compiler environment[C:\~] does not exist"<br />

When trying to close the compiler environment dialog box displayed by the "Compiler<br />

Environment" command from the "Setup" menu, the dialog box "Compiler environment[C:\~]<br />

does not exist" is displayed.<br />

[Answer]<br />

The above message is displayed in an environment in which the Softune compiler is not<br />

installed.<br />

Close this dialog box using the "Close" button.<br />

❍ Can I use SAMBA?<br />

Is it possible to analyze a UNIX source program on Windows using a SAMBA Server?<br />

[Answer]<br />

It is possible, but the following points must be noted.<br />

Kanji encoding<br />

Where the Kanji encoding is different between EUC and SJIS, the characters may not be<br />

displayed correctly when displaying the source program in the logic flow and standard<br />

editor. I n this case, it is necessary to convert to SJIS.<br />

Standard file name<br />

As the upper case/lower case distinction for directory names and file names on the UNIX<br />

Server no longer exists, it is necessary to modify as appropriate.<br />

❍ Max stack is not displayed<br />

When using the max stack feature, the max used stack is not displayed, even though an error<br />

message is not displayed.<br />

[Answer]<br />

The correct path name may not be set in the used stack information file header.<br />

Resolve this problem by recreating the stack information file using the C/<strong>C++</strong> Analyzer compile<br />

feature or by editing as follows:<br />

Choose the "Open File" command from the pop-up menu in the function box for which the<br />

max stack is not displayed and confirm the name of the source program.<br />

Open the "STACK" pane from the "Project" window and double-click the applicable stack<br />

information file name.<br />

Edit the first line of the stack information file to the correct path name. (The path name may<br />

also be omitted).<br />

[Example]<br />

@C:\test\test.c<br />

20 E test<br />

-> E func<br />

261


APPENDIX A TROUBLESHOOTING<br />

262<br />

[Example]<br />

@test.c<br />

20 E test<br />

-> E func<br />

❍ "Not Correct Max Stack Size"<br />

When using the max stack feature, the message "Not Correct Max Stack Size" appears.<br />

[Answer 1]<br />

The display mode of Graph Flow is not set to "All Functions."<br />

In the case of programs that include standard library functions, it is necessary to check "All<br />

Functions" within the Graph Flow pop-up menu.<br />

[Answer 2]<br />

One of the max stack feature limitations may apply.<br />

If one of the following elements exist, the max used stack may not be correctly calculated.<br />

■ Standard Editor-related<br />

There is an ASM statement in the C/<strong>C++</strong> source.<br />

There is a call to a recursive function.<br />

There is a function call from a pointer or there is a virtual function.<br />

There is a REALOS system call function call.<br />

There is a function call for which function definition information does not exist.<br />

In these cases, a relevant message will appear within the C/<strong>C++</strong> Analyzer.<br />

For appropriate responses to these messages, see "Error messages output when using the max<br />

stack feature", which follows.<br />

❍ Cannot write to the edit window<br />

When an edit window is activated from the standard editor, a blank edit screen is displayed.<br />

[Answer]<br />

The standard editor may not be registered in the system. Within explorer, drag the library file<br />

SiiEd2.ocx included in the install directory and drop it over regsvr.exe.<br />

If the message [DllRegisterServer in SiiEd2.ocx succeeded] is displayed, the window can be<br />

activated normally.<br />

❍ Member not found<br />

Starting of an internal editor displays "Member not found".<br />

[Answer]<br />

The version of the editor of use may be old. Library file included to an installation directory by<br />

Explorer. And check that the version of SiiEd2.ocx is more than 2.3.2.6, drag & drop on<br />

regsvr32.exe.<br />

If "DllRegisterServer in SiiEd2.ocx succeeded" is displayed, it is possible to start normally.<br />

SiiEd2.ocx is the editor made by <strong>Fujitsu</strong>,Ltd. compatible with a higher rank. Please use the one<br />

as new as possible.


APPENDIX A TROUBLESHOOTING<br />

■ Compatibility with Lower Versions<br />

Analysis data files and projects created in Softune C/<strong>C++</strong> Analyzer are not backwardscompatible<br />

with previous versions of Softune C Analyzer.<br />

Create a new project and analyze from within Softune C/<strong>C++</strong> Analyzer.<br />

■ Error Messages Output when Using the Max Stack Feature<br />

The following messages may be output when using the C/<strong>C++</strong> Analyzer Max Stack Feature.<br />

As the name of the stack information file is displayed in the analysis window, the used stack<br />

information file can be edited directly by double-clicking the name of the file.<br />

W1001N cannot open file ‘C:\test.stk’<br />

[Countermeasures]<br />

The stack information file "C:\test.stk" may not exist.<br />

Create the "C:\test.stk" file using the C/<strong>C++</strong> Analyzer compile feature.<br />

W1002N unrecognized option ‘-s’<br />

[Countermeasures]<br />

This message is not output in C/<strong>C++</strong> Analyzer.<br />

W1003N option ‘-model’ requires an argument<br />

[Countermeasures]<br />

This message is not output in C/<strong>C++</strong> Analyzer.<br />

W1004N illegal sub-parameter ‘-cpu a’<br />

[Countermeasures]<br />

This message is not output in C/<strong>C++</strong> Analyzer.<br />

W1005N module ‘C:\test.c’ has asm statement<br />

[Countermeasures]<br />

This message is output if an asm statement exists within the source program.<br />

To prevent this warning from appearing, open the stack information file test.stk, which is the<br />

applicable file for test.c, in an editor and add amend the first line from !C:\test.c to @c:\text.c<br />

[Before amending]<br />

!C:\test.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

[After amending]<br />

263


APPENDIX A TROUBLESHOOTING<br />

264<br />

@C:\test.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

See CHAPTER 23 "USED STACK INFORMATION" for information on how to edit the stack<br />

information file.


W1006N found recursive call ‘_func’<br />

APPENDIX A TROUBLESHOOTING<br />

[Countermeasures]<br />

This message is output if there is a direct or indirect call to a recursive function.<br />

To prevent this warning from appearing, open the stack information file with an editor and set<br />

the stack size in the recursive call line to an estimated amount.<br />

[Before amending]<br />

@C:\test.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

#<br />

24 E _func<br />

-> E __addd<br />

-> E _sub E _func<br />

#<br />

8 E _main<br />

-> E _sub<br />

[After amending]<br />

@C:\test.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

#<br />

24 E _func<br />

-> E __addd<br />

32 E _sub E _func<br />

#<br />

8 E _main<br />

-> E _sub<br />

C/<strong>C++</strong> Analyzer sets the stack size for all recursive call functions for which a warning appears to<br />

0.<br />

If an estimated stack size is used for the stack size required for the recursive call functions, as<br />

in the example above, the warning can be prevented and the stack size level can be raised.<br />

265


APPENDIX A TROUBLESHOOTING<br />

266<br />

W1007N found call by pointer in ‘_main’<br />

[Countermeasures]<br />

This message is output when there is a function call from a pointer.<br />

To prevent this warning, open the stack information file in an editor and set the $pointer_call<br />

line to an appropriate function call information line.<br />

[Before amending]<br />

@C:\test.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

#<br />

8 E _func1<br />

#<br />

8 E _func2<br />

#<br />

8 E _main<br />

-> * $pointer_call {E|S} {call function}<br />

#<br />

8 E _func1<br />

#<br />

8 E _func2<br />

#<br />

8 E _main<br />

-> * _func2<br />

C/<strong>C++</strong> Analyzer sets the stack size for all functions called by a pointer for which a warning<br />

appears to 0. Calls by <strong>C++</strong> language virtual functions are treated as pointer calls.<br />

If the function call line is specified as in the above example, the warning can be prevented and<br />

the stack size level can be raised.<br />

W1008N not found used stack size information of function ‘_func’<br />

[Countermeasures]<br />

This message is output when the function "func" used stack information cannot be found in<br />

the specified stack information file.<br />

To prevent this warning, register the source program defined in the function "func" in the<br />

project.


W1009N Not found static function<br />

[Countermeasures]<br />

This message is not output in C/<strong>C++</strong> Analyzer.<br />

W1010N Not found static function<br />

[Countermeasures]<br />

This message is not output in C/<strong>C++</strong> Analyzer.<br />

W1011N Not found external function<br />

[Countermeasures]<br />

This message is not output in C/<strong>C++</strong> Analyzer.<br />

W1012N Abnormal file ‘C:\test.stk’<br />

APPENDIX A TROUBLESHOOTING<br />

[Countermeasures]<br />

This message is output when the contents of the stack information file "C:\test.stk" are<br />

abnormal.<br />

Re-create the "C:\test.stk" file using the C/<strong>C++</strong> Analyzer compile feature.<br />

When editing the stack information file with an editor, use a tab to separate each line.<br />

W1013N Found asm statement in ‘_func’<br />

[Countermeasures]<br />

This message is output when an asm statement is included within the source program<br />

functions. The message "There is an asm statement in the W2005N module "C:\test.c" is<br />

displayed. This message will not be output, however, if there are no functions included<br />

within the asm statement.<br />

To prevent the warning, open the stack information file using an editor, delete the asm<br />

attribute in the "func" function definition information line, and set the stack size for the asm<br />

statement.<br />

[Before amending]<br />

!C:\test.c<br />

# E=Extern S=Static I=Interrupt<br />

# {Stack} {E|S|I} {function name} [A]<br />

# -> {E|S} {call function}<br />

#<br />

24 E _test<br />

20 E _func A


APPENDIX A TROUBLESHOOTING<br />

268<br />

[After amending]<br />

[Countermeasures]<br />

This message is not output in the C/<strong>C++</strong> Analyzer.<br />

[Countermeasures]<br />

This message is not output in the C/<strong>C++</strong> Analyzer.<br />

When output as a pop-up menu, the stack information file may not be registered in the<br />

project. If not, register the file.<br />

[Countermeasures]<br />

This message is not output in the C/<strong>C++</strong> Analyzer.<br />

■ Frequently Asked Questions<br />

@C:\test.c {E|S} {call function}<br />

#<br />

24 E _test<br />

32 E _func


APPENDIX A TROUBLESHOOTING<br />

❍ The message "The size of a graph flow is too large to display the entire graph flow." is<br />

displayed<br />

[Cause]<br />

When the size of a source file registered as a project is too large, the above message is<br />

displayed. This message is displayed when the number of function trees and the number of<br />

function boxes that can be displayed on the graph flow window exceed the limits specified by<br />

Windows.<br />

However, only display of the graph flow is restricted; all internal data is still kept.<br />

[Countermeasures]<br />

Open the Function List window on the View menu and right-click an appropriate function. The<br />

function tree of a selected function is then displayed on the graph flow window in a specified<br />

format.<br />

If the Top level function on the View menu is selected, only functions that cannot be called by<br />

others are displayed.<br />

269


APPENDIX A TROUBLESHOOTING<br />

270


INDEX<br />

The index follows on the next page.<br />

This is listed in alphabetic order.<br />

INDEX<br />

271


INDEX<br />

Index<br />

A<br />

activate standard editor........................................230<br />

activation problem ................................................260<br />

add file in project ..............................................13, 76<br />

all function, display of max used stack for............243<br />

all function, display of max used stack route for...245<br />

analysis information (graph flow)............................16<br />

analysis information (tree biew)..............................16<br />

analysis information, display of (graph flow window)<br />

.....................................................................57<br />

analysis message window..........................5, 56, 104<br />

analysis option .......................................................14<br />

analysis option command.......................................50<br />

analysis option dialog box ......................................81<br />

analysis result data file, deleting ............................58<br />

analysis result data file, updating ...........................58<br />

analysis window .......................................................6<br />

analyze.........................................................9, 14, 56<br />

analyze menu...................................................46, 80<br />

arrange icon ...........................................................21<br />

B<br />

bar on window ........................................................46<br />

bitmap file, outputting ...........................................181<br />

C<br />

C/<strong>C++</strong> analyzer ......................................................22<br />

C/<strong>C++</strong> analyzer, effect of .........................................2<br />

C/<strong>C++</strong> analyzer, starting ........................................43<br />

C/<strong>C++</strong> compiler, method of creating using...........250<br />

C/<strong>C++</strong> global variable information, displaying......157<br />

C/<strong>C++</strong> option ..........................................................82<br />

call MUSC ..............................................................83<br />

call tree...................................................................23<br />

call tree function .....................................................28<br />

call tree pop-up menu ..........................................185<br />

call tree window....................................................108<br />

call tree, displaying...............................................184<br />

cascade..................................................................21<br />

check menu..........................................................152<br />

chip classification ...................................................83<br />

class hierarchy .......................................................16<br />

class information ....................................................23<br />

272<br />

class information, displaying................................ 188<br />

class inheritance diagram ...................................... 25<br />

class inheritance diagram pop-up menu.............. 189<br />

class inheritance diagram, displaying .................. 189<br />

class inheritance diagram, enlarging ................... 191<br />

class inheritance information ................. 25, 110, 199<br />

class list ......................................................... 25, 111<br />

class name list ............................................... 16, 196<br />

class statistical information .................................. 197<br />

class summary information ............................ 25, 110<br />

class usage information ................. 26, 110, 200, 201<br />

close all.................................................................. 21<br />

close project........................................................... 11<br />

compilation environment........................................ 20<br />

compilation-target file............................................. 18<br />

compile..................................................................... 9<br />

compile menu................................................. 46, 120<br />

compile option dialog box for fcc911s.................. 121<br />

compile option dialog box for fcc935s.................. 134<br />

compiler, environment of...................................... 165<br />

complexity, measuring ......................................... 217<br />

complexity, using ................................................. 217<br />

confirmation dialog box.................................... 65, 75<br />

const declaration, candidate for............................. 24<br />

const-type qualification declaration candidate,<br />

specifying................................................... 158<br />

copy ....................................................................... 15<br />

cross reference pop-up menu.............................. 226<br />

cross reference, displaying .................................. 223<br />

cross reference, selecting.................................... 222<br />

cut .......................................................................... 15<br />

D<br />

delete file from project............................................ 13<br />

development environment-related ....................... 261<br />

dialog box................................................................. 8<br />

Dialog box for setting up the ANSI C/<strong>C++</strong> compiler<br />

option......................................................... 148<br />

displaying C/<strong>C++</strong> global variable information....... 157<br />

displaying focus ................................................... 178<br />

displaying graph flow ........................................... 172<br />

displaying inline expansion candidate function.... 153<br />

displaying undefined function............................... 180


E<br />

edit ........................................................................... 9<br />

edit menu ................................................. 46, 92, 238<br />

edit window .............................................................. 7<br />

editor customize..................................................... 20<br />

editor, method of creating using........................... 250<br />

enlarging graph flow............................................. 176<br />

error message output when using max stack feature<br />

................................................................... 263<br />

existing analysis result displaying .......................... 58<br />

explorer, starting from ............................................ 42<br />

external editor setup ............................................ 231<br />

external editor, setting.......................................... 163<br />

F<br />

fcc911s compiler dialog box......................... 130, 132<br />

fcc911s compiler dialog box, macro definition screen<br />

of preprocessor.......................................... 126<br />

fcc911s compiler dialog box, specification of<br />

language .................................................... 128<br />

fcc911s optimization ............................................ 130<br />

fcc911s output, option for..................................... 132<br />

fcc935s compiler dialog box......................... 143, 146<br />

fcc935s compiler dialog box, macro definition screen<br />

of preprocessor.......................................... 139<br />

fcc935s compiler dialog box, specification of<br />

language .................................................... 141<br />

fcc935s optimization ............................................ 143<br />

fcc935s output, option for..................................... 146<br />

file ............................................................................ 9<br />

file from project deleting......................................... 77<br />

file menu .................................................. 46, 72, 238<br />

file name information............................................ 224<br />

find ................................................................... 15, 17<br />

find in files .............................................................. 15<br />

find next ................................................................. 17<br />

find operation on edit window .............................. 116<br />

find prev ................................................................. 17<br />

focus function....................................................... 110<br />

focus, display of max used stack route ................ 246<br />

focus, displaying .......................................... 178, 193<br />

focus, selecting ............................................ 178, 193<br />

folder reference dialog box .................................... 63<br />

frequently asked question .................................... 268<br />

friend information ........................................... 26, 111<br />

function being candidate for inline development,<br />

condition for ................................................. 37<br />

function information.............................................. 223<br />

function list ............................................................. 17<br />

INDEX<br />

function list window...............................................113<br />

G<br />

general mode....................................................51, 81<br />

global information ...................................................24<br />

global information function......................................33<br />

global information, pop-up menu of ......................159<br />

global information, selecting .................................156<br />

graph flow .........................................................16, 23<br />

graph flow function .................................................29<br />

graph flow pop-up menu.......................................174<br />

graph flow window ..........................................57, 106<br />

graph flow, displaying ...........................................172<br />

graph flow, enlarging ............................................176<br />

graph flow, reducing .............................................176<br />

H<br />

help.........................................................................10<br />

help menu.......................................................47, 170<br />

help topic ................................................................22<br />

I<br />

icon, starting with....................................................42<br />

include path ............................................................55<br />

initial window ..........................................................44<br />

inline expansion candidate function, displaying....153<br />

inline function, candidate for...................................24<br />

internal editor function ............................................34<br />

interrupt ............................................................14, 56<br />

interrupt compilation ...............................................18<br />

L<br />

language - fcc911s compiler dialog box, specification<br />

of ................................................................128<br />

language - fcc935s compiler dialog box, specification<br />

of ................................................................141<br />

language level ..................................................52, 84<br />

locate operation on analysis window ....................116<br />

logic flow.................................................................23<br />

logic flow function ...................................................30<br />

logic flow, displaying.............................................209<br />

logic flow, selecting...............................................208<br />

lower version, compatibility with ...........................263<br />

M<br />

macro definition ......................................................55<br />

macro definition screen of preprocessor - fcc911s<br />

compiler dialog box ....................................126<br />

273


INDEX<br />

macro definition screen of preprocessor - fcc935s<br />

compiler dialog box ....................................139<br />

macro information ................................................224<br />

main window ............................................................3<br />

max stack-related.................................................261<br />

max used stack ................................................17, 24<br />

max used stack command ...................................115<br />

max used stack route .............................................17<br />

max used stack route command ..........................115<br />

max used stack, calculating .................................248<br />

max used stack, limitation on ...............................249<br />

max used stack, using calculate ..........................248<br />

maximum used stack route, display of ...................36<br />

maximum used stack, calculation of.......................36<br />

menu and bar on window .......................................46<br />

message bar ..........................................................16<br />

MS-DOS prompt, starting from...............................42<br />

mutual reference information .................................24<br />

mutual reference information function....................32<br />

N<br />

name space......................................................16, 23<br />

name space content.........................17, 27, 112, 204<br />

name space information.........................27, 112, 204<br />

name space information, displaying.....................204<br />

new file ...................................................................13<br />

new file creating .....................................................73<br />

new project.............................................................11<br />

new project creating ...............................................62<br />

O<br />

open file..................................................................13<br />

open project ...........................................................11<br />

opening file.............................................................74<br />

opening project.......................................................64<br />

option .....................................................................18<br />

other option ......................................................52, 84<br />

P<br />

paste ......................................................................15<br />

path dialog box.................................................48, 62<br />

pop-up menu on call tree window ........................108<br />

preprocessor setting...............................................82<br />

preprocessor setting dialog box, include path screen<br />

of ..................................................................87<br />

preprocessor setting dialog box, macro definition<br />

screen of ......................................................88<br />

preprocessor, include path screen of (fcc911s<br />

compiler dialog box)...................................124<br />

274<br />

preprocessor, include path screen of (fcc935s<br />

compiler dialog box)................................... 137<br />

print........................................................................ 11<br />

print preview..................................................... 12, 68<br />

print setup .............................................................. 12<br />

printer setup........................................................... 69<br />

printing ....................................................... 24, 39, 67<br />

program editing...................................................... 24<br />

project ................................................................ 9, 16<br />

project file............................................................... 11<br />

project file, specifying type of................................. 49<br />

project menu .................................................... 46, 60<br />

project name & path dialog box ....................... 48, 62<br />

project window ................................................. 4, 102<br />

Q<br />

quit C/<strong>C++</strong> analyzer ............................................... 12<br />

R<br />

re-analyze ........................................................ 14, 56<br />

reduced class inheritance diagram ...................... 191<br />

reducing graph flow.............................................. 176<br />

replace ................................................................... 15<br />

S<br />

save file.................................................................. 13<br />

save file as............................................................. 13<br />

save file as command ............................................ 75<br />

save file command................................................. 75<br />

save project............................................................ 11<br />

save project as....................................................... 11<br />

save project as command...................................... 65<br />

save project command........................................... 65<br />

saving analysis result data file ............................... 58<br />

select all................................................................. 15<br />

select file dialog box............................. 48, 64, 74, 76<br />

selecting editor....................................................... 34<br />

selecting file ........................................................... 49<br />

selecting focus ..................................................... 178<br />

selecting global information ................................. 156<br />

setting external editor........................................... 163<br />

setup ........................................................................ 9<br />

setup menu .................................................... 46, 162<br />

specified function, display of max used stack for<br />

................................................................... 242<br />

specified function, display of max used stack route for<br />

................................................................... 244<br />

specifying const-type qualification declaration<br />

candidate ................................................... 158


standard editor pop-up menu............................... 236<br />

standard editor setup (general)............................ 233<br />

standard editor setup (key word) ......................... 234<br />

standard editor-related......................................... 262<br />

start compilation..................................................... 18<br />

start menu, starting from ........................................ 42<br />

statement in inline function, maximum number of<br />

......................................................... 54, 82, 86<br />

status bar ....................................................... 16, 101<br />

summary information ............................................. 23<br />

summary information function................................ 31<br />

summary pop-up menu ........................................ 218<br />

summary, displaying ............................................ 215<br />

summary, selecting .............................................. 214<br />

T<br />

tag/type definition information .............................. 224<br />

target compiler ....................................................... 83<br />

target MCU............................................................. 83<br />

text, searching for ................................ 160, 219, 228<br />

tile horizontally ....................................................... 21<br />

tile vertically ........................................................... 21<br />

tool bar ........................................................... 16, 100<br />

INDEX<br />

tree biew .................................................................16<br />

type definition information.....................................224<br />

U<br />

undefined class. displaying...................................195<br />

undefined function, displaying ..............................180<br />

undo........................................................................15<br />

update dependence................................................11<br />

update dependence command ...............................66<br />

V<br />

variable being candidate for constant declaration,<br />

condition for..................................................38<br />

variable/function information.................................223<br />

view ..........................................................................9<br />

view menu ........................................................46, 98<br />

W<br />

warning level.....................................................52, 84<br />

window......................................................................9<br />

window for analysis ................................................45<br />

window menu..................................................46, 168<br />

window name 1, 2...................................................21<br />

275


INDEX<br />

276


CM81-00309-4E<br />

FUJITSU SEMICONDUCTOR CONTROLLER <strong>MANUAL</strong><br />

<strong>FR</strong>-V/<strong>FR</strong> <strong>FAMILY</strong><br />

<strong>SOFTUNE</strong> C/<strong>C++</strong> <strong>ANALYZER</strong> <strong>MANUAL</strong><br />

for V5<br />

September 2002 the fourth edition<br />

Published FUJITSU LIMITED Electronic Devices<br />

Edited Technical Information Dept.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!