[email protected]:~/BLP4e/chapter10> splint -strict debug0.c
Splint 3.1.1 --- 19 Mar 2005
debug0.c:7:18: Read-only string literal storage used as initial value for
unqualified storage: array[0].data = "bill"
A read-only string literal is assigned to a non-observer reference. (Use -readonlytrans to inhibit warning)
debug0.c:8:18: Read-only string literal storage used as initial value for
unqualified storage: array[1].data = "neil"
debug0.c:9:18: Read-only string literal storage used as initial value for
unqualified storage: array[2].data = "john"
debug0.Ρ:10:18: Read-only string literal storage used as initial value for
unqualified storage: array[3].data = "rick"
debug0.c:11:18: Read-only string literal storage used as initial value for
unqualified storage: array[4].data = "alex"
debug0.Ρ:14:22: Old style function declaration
Function definition is in old style syntax. Standard prototype syntax is
preferred. (Use -oldstyle to inhibit warning)
debug0.Ρ: (in function sort)
debug0.c:20:31: Variable s used before definition
An rvalue is used that may not be initialized to a value on some execution
path. (Use -usedef to inhibit warning)
debug0.Ρ:20:23: Left operand of & is not unsigned value (boolean):
i < n & s != 0
An operand to a bitwise operator is not an unsigned values. This may have
unexpected results depending on the signed representations. (Use
-bitwisesigned to inhibit warning).
debug0.c:20:23: Test expression for for not boolean, type unsigned int:
i < n & s != 0
Test expression type is not boolean or int. (Use -predboolint to inhibit
warning);
debug0.Ρ:25:41: Undocumented modification of a[]: a[j] = a[j + 1]
An externally-visible object is modified by a function with no /*@ [email protected]*/
comment. The /*@modifies ... @*/ control comment can be used to give a
modifies list for an unspecified function. (Use -modnomods to inhibit
warning)
debug0.c:26:41: Undocumented modification of a[]: a[j + 1] = t
debug0.c:20:23: Operands of & are non-integer (boolean) (in post loop test):
i < n & s != 0
A primitive operation does not type check strictly. (Use -strictops to
inhibit warning)
debug0.Ρ:32:14: Path with no return in function declared to return int
There is a path through a function declared to return a value on which there
is no return statement. This means the execution may fall through without
returning a meaningful result to the caller. (Use -noret to inhibit
warning)
debug0.Ρ:34:13: Function main declared without parameter list
A function declaration does not have a parameter list. (Use -noparams
to inhibit warning)
debug0.Ρ: (in function main)
debug0.Ρ:36:22: Undocumented use of global array
A checked global variable is used in the function, but not listed in its
globals clause. By default, only globals specified in .lcl files are
checked.
To check all globals, use +allglobals. To check globals selectively use
/*@ [email protected]*/ in the global declaration. (Use -globs to inhibit warning)
debug0.Ρ:36:17: Undetected modification possible from call to unconstrained
function sort: sort
An unconstrained function is called in a function body where
modifications are checked. Since the unconstrained function may modify
anything, there may be undetected modifications in the checked function.
(Use -modunconnomods to inhibit warning)
debug0.c:36:17: Return value (type int) ignored: sort(array, 5)
Result returned by function call is not used. If this is intended, can
cast result to (void) to eliminate message. (Use -retvalint to inhibit
warning)
debug0.c:37:14: Path with no return in function declared to return int
debug0.c:6:18: Variable exported but not used outside debug0: array
A declaration is exported, but not used outside this module. Declaration
can use static qualifier. (Use -exportlocal to inhibit warning)
debug0.c:14:13: Function exported but not used outside debug0: sort
debug0.c:15:17: Definition of sort
debug0.c:6:18: Variable array exported but not declared in header file
A variable declaration is exported, but does not appear in a header
file. (Used with exportheader.) (Use -exportheadervar to inhibit warning)
debug0.c:14:13: Function sort exported but not declared in header file
A declaration is exported, but does not appear in a header file. (Use
-exportheader to inhibit warning)
debug0.c:15:17: Definition of sort
Finished checking - 22 code warnings
$
Π£ΡΠΈΠ»ΠΈΡΠ° Π²ΡΡΠ°ΠΆΠ°Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΡΠ°ΡΠΎΠΌ ΡΡΠΈΠ»Π΅ (Π½Π΅ ANSI) ΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΏΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΈ ΡΠ°ΠΌΠΈΠΌΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ (ΠΈΠ»ΠΈ Π½Π΅Ρ) Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ.
ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»Π° Π΄Π²Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°:
/* 18 */ int s;
/* 19 */
/* 20 */ for(; i < n & s != 0; i++) {
/* 21 */ s = 0;
Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ splint ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΎ (Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°), ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ s ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ 20, Π½ΠΎ Π½Π΅ Π±ΡΠ»Π° ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°, ΠΈ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ & ΡΡΠΎΠΈΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° &&. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠ±Π΅ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΡΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ°Π»ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΈ ΡΠ»ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ."
Π‘ΡΠ΅Π΄ΡΡΠ²Π°, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ
Π’ΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ β ctags, cxref ΠΈ cflow β ΡΠΎΡΠΌΠΈΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° X/Open ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΡ UNIX Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΌΠΎΠ³ΡΡ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡΡ Π² ΡΠΎΡΡΠ°Π² Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Linux. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΡΠΎΠΏΡΡΠ΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. Π₯ΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° (Π΄Π»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ RPM-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²) β Web-ΡΠ°ΠΉΡΡ http://rpmfind.net ΠΈ http://rpm.pbone.net. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ http://ftp.gwdg.de/pub/opensuse/ Π΄Π»Ρ openSUSE, http://rpm.livna.org Π΄Π»Ρ Fedora ΠΈ http://packages.slackware.it/ Π΄Π»Ρ Slackware.
ctagsΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ctags ΡΠΎΠ·Π΄Π°Π΅Ρ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΌΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π³Π΄Π΅ ΠΎΠ½Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΊ ΠΊΠ½ΠΈΠ³Π΅.
ctags [-a] [-f filename] sourcefile sourcefile ...
ctags -x sourcefile sourcefile ...
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ctags ΡΠΎΠ·Π΄Π°Π΅Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ tags, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΡΠΎΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
announce app_ui.c /^static void announce(void) /
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ°ΠΉΠ»Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°, ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Emacs, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ -Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ctags (Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π²ΡΠ²ΠΎΠ΄Π°.
find_cat 403 appui.Ρ static cdc_entry find_cat(
ΠΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ -f filename ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΊΠ°Π·Π°Π² ΠΎΠΏΡΠΈΡ -Π°.
cxrefΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° cxref Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ ΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ. ΠΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π³Π΄Π΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define ΠΈ ΡΡΠ½ΠΊΡΠΈΡ). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅:
SYMBOL FILE FUNCTION LINE
BASENID prog.Ρ -- *12 *96 124 126 146 156 166
BINSIZE prog.Ρ -- *30 197 198 199. 206
BUFMAX prog.Ρ -- *44 45 90
BUFSIZ /usr/include/stdio.h -- *4
EOF /usr/include/stdio.h -- *27
argc prog.Ρ -- 36
prog.Ρ main *37 61 81
argv prog.Ρ -- 36
prog.Ρ main *38 61
calldata prog.Ρ -- *5
prog.Ρ main 64 188
calls prog.Ρ -- *19
prog.Ρ main 54
ΠΠ° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ» ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ cxref *.Ρ *.h
Π½ΠΎ ΡΠΎΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ. Π‘ΠΌ. Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° cxref ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ.
cflowΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° cflow Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ β ΡΡ Π΅ΠΌΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈ Ρ.Π΄. ΠΡΠ° ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π΅Π΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π·Π° Π²Π»ΠΈΡΠ½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ cflow ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅.