Aceasta este comanda cproto care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
cproto - generați prototipuri de funcție C și convertiți definițiile funcției
REZUMAT
cproto [ opțiune ... ] [ fişier ... ]
DESCRIERE
Cproto generează prototipuri de funcții pentru funcțiile definite în fișierele sursă C specificate
la ieșirea standard. Definițiile funcției pot fi în stil vechi sau în stil ANSI C.
Opțional, cproto de asemenea, emite declarații pentru variabilele definite în fișiere. Daca nu
fişier argumentul este dat, cproto citește intrarea sa din intrarea standard.
Dând o opțiune de linie de comandă, cproto va converti, de asemenea, definițiile funcției în
fișierele specificate de la stilul vechi la stilul ANSI C. Fișierele sursă originale de-a lungul
cu fișierele specificate de
#include „fișier”
directivele care apar în codul sursă vor fi suprascrise cu codul convertit. Dacă
nu sunt date nume de fișiere pe linia de comandă, apoi programul citește codul sursă din
intrarea standard și scoate sursa convertită la ieșirea standard.
Dacă apar comentarii în declarațiile parametrilor pentru o definiție de funcție, cum ar fi în
exemplul,
principal (argc, argv)
int argc; /* numărul de argumente */
char *argv[]; /* argumente */
{
}
atunci definiția funcției convertite va avea forma
int
principal (
int argc, /* numărul de argumente */
char *argv[] /* argumente */
)
{
}
În caz contrar, definiția funcției convertite va arăta ca
int
main (int argc, char *argv[])
{
}
Cproto poate converti opțional definițiile de funcții din stilul ANSI în stilul vechi.
În acest mod, programul convertește și declaratorii de funcții și prototipurile care apar
în afara corpurilor funcţionale. Aceasta nu este o conversie completă ANSI C în C vechi. Programul
nu schimbă nimic în corpurile funcționale.
Cproto opțional, poate genera sursa în format lint-library. Acest lucru este util în
medii în care scamă utilitarul este folosit pentru a completa verificarea prototipului dvs
programul.
OPŢIUNI
-e Ieșiți cuvântul cheie extern în fața fiecărui prototip generat sau declarație care
are o amploare globală.
-f n Setați stilul prototipurilor de funcții generate unde n este un număr de la 0 la 3.
De exemplu, luați în considerare definiția funcției
principal (argc, argv)
int argc;
char *argv[];
{
}
Dacă valoarea este 0, atunci nu sunt generate prototipuri. Când este setată la 1, ieșirea este:
int main(/*int argc, char *argv[]*/);
Pentru o valoare de 2, rezultatul are forma:
int main(int /*argc*/, char */*argv*/[]);
Valoarea implicită este 3. Produce prototipul complet al funcției:
int main(int argc, char *argv[]);
-l Generați text pentru o bibliotecă lint (înlocuiește „-fopțiunea "). Ieșirea include
comentariul
/* LINTLIBRARY */
Comentariile speciale LINT_EXTERN și, respectiv, LINT_PREPRO (a la "VARARGS") se activează
opțiunea „-x” și copiați text-comentare în rezultat (pentru preprocesare în scamă).
Folosește comentariul
/* LINT_EXTERN2 */
pentru a include externi definiți în primul nivel al fișierelor include. Folosește comentariul
/* LINT_SHADOWED */
a cauza cproto pentru a pune directivele „#undef” înaintea fiecărei declarații de bibliotecă lint
(adică, pentru a evita conflictele cu macrocomenzile care se întâmplă să aibă același nume ca
funcțiile, provocând astfel erori de sintaxă).
Rețineți că aceste comentarii speciale nu sunt acceptate în VAX/VMS, deoarece nu există
echivalent pentru opțiunea „-C” a cpp cu VAX-C.
-c Comentariile parametrilor din prototipurile generate de opțiunile -f1 și -f2 sunt
omis în mod implicit. Utilizați această opțiune pentru a activa rezultatul acestor comentarii.
-m Puneți o macrocomandă în jurul listei de parametri a fiecărui prototip generat. De exemplu:
int main P_((int argc, char *argv[]));
-M nume
Setați numele macrocomenzii utilizate pentru a înconjura listele de parametri prototip atunci când opțiunea -m
este selectat. Valoarea implicită este „P_”.
-d Omiteți definiția prototipului macro utilizată de opțiunea -m.
-o fişier
Specificați numele fișierului de ieșire (implicit: ieșire standard).
-O fişier
Specificați numele fișierului de eroare (implicit: eroare standard).
-p Dezactivați promovarea parametrilor formali în definițiile de funcții în stil vechi. De
implicit, parametri de tip car de război or mic de statura în stil vechi definiţiile funcţiilor sunt
promovat la tip int în prototipul funcției sau în funcția ANSI C convertită
definiție. Parametri de tip pluti a fi promovat la dubla de asemenea.
-q Nu afișați niciun mesaj de eroare atunci când programul nu poate citi fișierul specificat în
an #include directivă.
-s În mod implicit, cproto generează doar declarații pentru funcții și variabile care au
amploare globală. Această opțiune va ieși static declaraţii de asemenea.
-S Ieșiți numai declarații statice.
-i În mod implicit, cproto generează doar declarații pentru funcții și variabile care au
amploare globală. Această opțiune va ieși inline declaraţii de asemenea.
-T Copiați definițiile tipului din fiecare fișier. (Definițiile din fișierele incluse sunt copiate,
spre deosebire de opțiunea „-l”).
-v De asemenea, declarații de ieșire pentru variabilele definite în sursă.
-x Această opțiune determină procedurile și variabilele care sunt declarate „externe”.
incluse în ieșire.
-X nivel
Această opțiune limitează nivelul fișierului de includere din care sunt extrase declarațiile
examinând ieşirea preprocesorului.
-a Convertiți definițiile funcției din stilul vechi în stilul ANSI C.
-t Convertiți definițiile funcțiilor din stilul ANSI C în stilul tradițional.
-b Rescrieți capetele de definire a funcției pentru a include atât stilul vechi, cât și stilul nou
declarații separate printr-o directivă de compilare condiționată. De exemplu, cel
programul poate genera această definiție a funcției:
#ifdef ANSI_FUNC
int
main (int argc, char *argv[])
#altfel
int
principal (argc, argv)
int argc;
char *argv[]
#endif
{
}
-B directivă
Setați directiva de compilare condiționată să iasă la începutul funcției
definiții generate de opțiunea -b. Valoarea implicită este
#ifdef ANSI_FUNC
-P șablon
-F șablon
-C șablon
Setați formatul de ieșire pentru prototipurile generate, definițiile funcției și funcția
definiții cu comentarii de parametri respectiv. Formatul este specificat de a
șablon în formular
"int f (a, b)"
dar puteți înlocui fiecare spațiu din acest șir cu orice număr de spații albe
personaje. De exemplu, opțiunea
-F"int f(\n\ta,\n\tb\n\t)"
va produce
int main(
int argc,
char *argv[]
)
-D nume[=valoare]
Această opțiune este transmisă preprocesorului și este folosită pentru a defini simboluri pentru
utilizați cu condiționale precum #ifdef.
-U nume
Această opțiune este transmisă preprocesorului și este folosită pentru a elimina orice
definițiile acestui simbol.
-I director
Această opțiune este transmisă preprocesorului și este utilizată pentru a specifica a
director pentru a căuta fișiere la care se face referire #include.
-E cpp Transmite fișierele de intrare prin comanda preprocesorului C specificată atunci când se generează
prototipuri. În mod implicit, programul folosește /lib/cpp.
-E 0 Nu rulați preprocesorul C.
-V Informații despre versiunea tipărită.
MEDIUL
Variabila de mediu CPROTO este scanată pentru o listă de opțiuni în același format ca și
opțiunile liniei de comandă. Opțiunile date pe linia de comandă suprascriu orice corespunzătoare
optiunea de mediu.
Utilizați cproto online folosind serviciile onworks.net