Jest to polecenie cproto, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
cproto - generuj prototypy funkcji C i konwertuj definicje funkcji
STRESZCZENIE
cproto [ opcja ... ] [ filet ...]
OPIS
Cproto generuje prototypy funkcji dla funkcji zdefiniowanych w określonych plikach źródłowych C
na standardowe wyjście. Definicje funkcji mogą być w starym stylu lub w stylu ANSI C.
Opcjonalnie, cproto wyświetla również deklaracje dla zmiennych zdefiniowanych w plikach. Jeśli nie
filet podano argument, cproto odczytuje swoje wejście ze standardowego wejścia.
Podając opcję wiersza poleceń, cproto przekonwertuje również definicje funkcji w
określone pliki ze starego stylu do stylu ANSI C. Oryginalne pliki źródłowe wraz
z plikami określonymi przez
#include "plik"
dyrektywy pojawiające się w kodzie źródłowym zostaną zastąpione przekonwertowanym kodem. Gdyby
w wierszu poleceń nie podano żadnych nazw plików, program odczytuje kod źródłowy z
standardowe wejście i wyprowadza przekonwertowane źródło na standardowe wyjście.
Jeśli w deklaracjach parametrów dla definicji funkcji pojawią się jakiekolwiek komentarze, takie jak in
przykład,
główny (argc, argv)
wewn argc; /* liczba argumentów */
char *argv[]; /* argumenty */
{
}
wtedy przekonwertowana definicja funkcji będzie miała postać
int
Główny (
int argc, /* liczba argumentów */
char *argv[] /* argumenty */
)
{
}
W przeciwnym razie przekonwertowana definicja funkcji będzie wyglądać tak:
int
main (int argc, char *argv[])
{
}
Cproto może opcjonalnie konwertować definicje funkcji ze stylu ANSI na stary styl.
W tym trybie program konwertuje również deklaratory funkcji i pojawiające się prototypy
poza organami funkcyjnymi. To nie jest pełna konwersja ANSI C na stary C. Program
nie zmienia niczego w ciałach funkcyjnych.
Cproto może opcjonalnie wygenerować źródło w formacie biblioteki lint. Jest to przydatne w
środowiska, w których szarpie narzędzie służy do uzupełnienia sprawdzania prototypów twojego
program.
OPCJE
-e Wypisz słowo kluczowe zewnętrzny przed każdym wygenerowanym prototypem lub deklaracją, że
ma zasięg globalny.
-f n Ustaw styl generowanych prototypów funkcji, gdzie n to liczba od 0 do 3.
Rozważmy na przykład definicję funkcji
główny (argc, argv)
wewn argc;
znak *argv[];
{
}
Jeśli wartość wynosi 0, nie są generowane żadne prototypy. Gdy jest ustawiony na 1, wyjście to:
int main(/*int argc, char *argv[]*/);
Dla wartości 2 wyjście ma postać:
int main(int /*argc*/, char */*argv*/[]);
Domyślna wartość to 3. Daje pełny prototyp funkcji:
int main(int argc, char *argv[]);
-l Generuj tekst dla biblioteki lint (zastępuje „-f"opcja). Dane wyjściowe obejmują
komentarz
/* BIBLIOTEKA */
Włączają się specjalne komentarze LINT_EXTERN i LINT_PREPRO (a la „VARARGS”)
opcję "-x" i skopiuj tekst komentarza na wyjście (do wstępnego przetwarzania w szarpie).
Użyj komentarza
/* LINT_EXTERN2 */
aby dołączyć zewnętrzne zdefiniowane na pierwszym poziomie plików dołączanych. Użyj komentarza
/* LINT_SHADOWED */
powodować cproto umieścić dyrektywy "#undef" przed każdą deklaracją biblioteki lint
(tj. aby uniknąć konfliktów z makrami, które muszą mieć taką samą nazwę jak
funkcje, powodując w ten sposób błędy składniowe).
Pamiętaj, że te specjalne komentarze nie są obsługiwane w VAX/VMS, ponieważ nie ma
odpowiednik opcji "-C" cpp z VAX-C.
-c Komentarze parametrów w prototypach generowanych przez opcje -f1 i -f2 to
domyślnie pomijane. Użyj tej opcji, aby włączyć wyświetlanie tych komentarzy.
-m Umieść makro wokół listy parametrów każdego wygenerowanego prototypu. Na przykład:
int main P_((int argc, char *argv[]));
-M Nazwa
Ustaw nazwę makra używanego do otaczania list parametrów prototypu, gdy opcja -m
jest zaznaczona. Wartość domyślna to „P_”.
-d Pomiń definicję makra prototypu używanego przez opcję -m.
-o filet
Określ nazwę pliku wyjściowego (domyślnie: standardowe wyjście).
-O filet
Podaj nazwę pliku błędu (domyślnie: błąd standardowy).
-p Wyłącz promowanie parametrów formalnych w definicjach funkcji w starym stylu. Za pomocą
domyślnie, parametry typu zwęglać or krótki w starym stylu definicje funkcji są
awansowany na typ int w prototypie funkcji lub przekonwertowanej funkcji ANSI C
definicja. Parametry typu unosić się awansować do Podwójna , jak również.
-q Nie wyświetlaj żadnych komunikatów o błędach, gdy program nie może odczytać pliku określonego w
an #zawierać Dyrektywa.
-s Domyślnie cproto generuje tylko deklaracje dla funkcji i zmiennych posiadających
Zakres globalny. Ta opcja wyświetli statyczny również deklaracje.
-S Wyprowadzaj tylko deklaracje statyczne.
-i Domyślnie cproto generuje tylko deklaracje dla funkcji i zmiennych posiadających
Zakres globalny. Ta opcja wyświetli inline również deklaracje.
-T Skopiuj definicje typów z każdego pliku. (Definicje w dołączonych plikach są kopiowane,
w przeciwieństwie do opcji "-l").
-v Również deklaracje wyjściowe dla zmiennych zdefiniowanych w źródle.
-x Ta opcja powoduje, że procedury i zmienne, które są zadeklarowane jako "extern", są:
zawarte w danych wyjściowych.
-X poziom
Ta opcja ogranicza poziom pliku dołączanego, z którego deklaracje są wyodrębniane przez
badanie wyjścia preprocesora.
-a Konwertuj definicje funkcji ze starego stylu na styl ANSI C.
-t Konwertuj definicje funkcji ze stylu ANSI C na styl tradycyjny.
-b Przepisz nagłówki definicji funkcji, aby uwzględnić zarówno stary, jak i nowy styl
deklaracje oddzielone dyrektywą kompilacji warunkowej. Na przykład
program może wygenerować tę definicję funkcji:
#ifdef ANSI_FUNC
int
main (int argc, char *argv[])
#else
int
główny (argc, argv)
wewn argc;
znak *argv[]
#endif
{
}
-B Dyrektywy
Ustaw dyrektywę kompilacji warunkowej na wyjście na początku funkcji
definicje generowane przez opcję -b. Wartość domyślna to
#ifdef ANSI_FUNC
-P szablon
-F szablon
-C szablon
Ustaw format wyjściowy dla wygenerowanych prototypów, definicji funkcji i funkcji
definicje z odpowiednio komentarzami parametrów. Format jest określony przez a
szablon w formularzu
„int f ( a, b )”
ale możesz zastąpić każdą spację w tym ciągu dowolną liczbą białych znaków
postacie. Na przykład opcja
-F"int f(\n\ta,\n\tb\n\t)"
będzie produkować
int główny(
wewn. argc,
znak *argv[]
)
-D nazwa[=wartość]
Ta opcja jest przekazywana do preprocesora i służy do definiowania symboli dla
używaj z warunkami warunkowymi, takimi jak #ifdef.
-U Nazwa
Ta opcja jest przekazywana do preprocesora i służy do usuwania wszelkich
definicje tego symbolu.
-I katalog
Ta opcja jest przekazywana do preprocesora i jest używana do określenia
katalog do wyszukiwania plików, do których się odwołuje #włączać.
-E Cpp Potocz pliki wejściowe przez określone polecenie preprocesora C podczas generowania
prototypy. Domyślnie program używa /lib/cpp.
-E 0 Nie uruchamiaj preprocesora C.
-V Wydrukuj informacje o wersji.
ŚRODOWISKO
Zmienna środowiskowa CPROTO jest skanowana w poszukiwaniu listy opcji w tym samym formacie, co
opcje wiersza poleceń. Opcje podane w wierszu poleceń zastępują wszelkie odpowiadające
opcja środowiska.
Korzystaj z cproto online za pomocą usług onworks.net