cflow(1p)

Från Wiki.linux.se
Version från den 30 januari 2025 kl. 12.23 av Admin (diskussion | bidrag)
Hoppa till navigering Hoppa till sök

NAMN

cflow – genererar ett flödesschema för C-språket (UTVECKLING)

SYNOPSIS

cflow [-r] [-d num] [-D name[=def]]... [-i incl] [-I dir]... [-U dir]... file...

BESKRIVNING

Verktyget cflow analyserar en samling objektfiler eller assembler-, C-, lex- eller yacc-källfiler och försöker skapa ett grafiskt flödesschema som skrivs ut till standardutgång och kartlägger externa referenser.

ALTERNATIV

cflow följer POSIX-standardens grundläggande syntaxriktlinjer, med följande alternativ:

  • -d num
 Anger djupet där flödesschemat avbryts. Standardvärdet är ett mycket stort tal (vanligtvis över 32000). Försök att sätta en icke-positiv siffra ignoreras.
  • -i incl
 Ökar antalet inkluderade symboler. incl kan vara:
 * x – Inkluderar externa och statiska datasymboler. Standard är att endast inkludera funktioner i flödesschemat.
 * _ (understreck) – Inkluderar namn som börjar med understreck. Standard är att exkludera dessa (och data om -i x används).
  • -r
 Vänder anropsrelationen och visar en inverterad lista som visar vilka funktioner som anropar varje funktion. Listan sorteras lexikografiskt efter kallad funktion.

OPERANDER

  • file
 Sökvägen till filen som ska analyseras. Filsuffix tolkas enligt:
 * .llex-inmatning
 * .yyacc-inmatning
 * .cc99-inmatning
 * .i – resultatet av c99 -E
 
 Filer med suffix .s (assemblerfiler) kan innehålla mer begränsad information.

STANDARDINMATNING

Ej använd.

INDATAFILER

Indatafilerna kan vara objektfiler eller källfiler i assembler, C, lex eller yacc.

MILJÖVARIABLER

Följande miljövariabler påverkar cflow:

  • LANG
 Ger standardvärden för lokaliseringsvariabler som inte är satta eller är tomma.
 
  • LC_ALL
 Om denna är satt, åsidosätter den alla andra lokaliseringsvariabler.
  • LC_COLLATE
 Anger sorteringsordningen vid användning av -r.
  • LC_CTYPE
 Anger teckenuppsättningen och kodningen för indatafiler.
  • LC_MESSAGES
 Styr språket för felmeddelanden.
  • NLSPATH
 Anger sökväg för lokaliserade meddelandekataloger.

ASYNKRONA HÄNDELSER

Standard.

STANDARDUTMATNING

Flödesschemat skrivs ut enligt följande format:

"%d %s:%s\n", <referensnummer>, <global>, <definition>

Exempelutmatning:

1 main: int(), <file.c 6>
2    f: int(), <file.c 13>
3        h: <>
4        i: int, <file.c 1>
5    g: <>

STANDARDERROR

Används endast för felmeddelanden.

UTGÅNGSVÄRDEN

  • 0 – Framgångsrik körning.
  • >0 – Ett fel uppstod.

EXEMPEL

Givet följande kod i file.c:

int i;
int f();
int g();
int h();
int main() {
    f();
    g();
    f();
}
int f() {
    i = h();
}

Kör kommandot:

cflow -i x file.c

Utdata blir:

1 main: int(), <file.c 6>
2    f: int(), <file.c 13>
3        h: <>
4        i: int, <file.c 1>
5    g: <>

SE ÄVEN

COPYRIGHT

Delar av denna text är hämtade från IEEE Std 1003.1-2017, Standard för Informationsteknik – Bärbart Operativsystemgränssnitt (POSIX). Originaldokumentet kan hittas online på The Open Group.