ASMXREF scans
the following C statements to extract Control Flow information:
- Function declarations
- Function definitions
- Macro definitions
- Expressions in the each statement.
Note: A sample C program is shown in
Figure 1, with accompanying
CF report in
Figure 2.
Functional references for C code are classified as follows:
- Defined macros are identified and flagged as #define type references.
- Declared functions are recognized as declarative.
- Extern functions that are called in different expressions are
identified as CALL type of references.
- Static functions and #defined macros that are called from different
expressions are recognized as Local Calls.
- Functions defined as extern functions within the module are identified
as such.
- Functions defined as static functions within the module are flagged
as static definitions.
Notes: - For #define and function definitions, the references are assumed
to be made from the module.
- For Call and Local Call type of references the references are
assumed to be made from calling functions.
- A statement of the following format is always treated as a function
call unless symbol1 is a generic data type ( char, int, etc.)
in C.
symbol1 ( *symbol2 ) ;