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