cproto - Online en la nube

Este es el comando cproto que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


cproto: genera prototipos de funciones C y convierte definiciones de funciones

SINOPSIS


protocolo [ opción ...] [ presentar ...]

DESCRIPCIÓN


protocolo genera prototipos de funciones para las funciones definidas en los archivos fuente C especificados
a la salida estándar. Las definiciones de funciones pueden estar en el estilo antiguo o en el estilo ANSI C.
opcionalmente, protocolo también genera declaraciones para las variables definidas en los archivos. Si no
presentar se da el argumento, protocolo lee su entrada de la entrada estándar.

Al dar una opción de línea de comando, protocolo también convertirá las definiciones de funciones en el
archivos especificados del estilo antiguo al estilo ANSI C. Los archivos fuente originales junto
con archivos especificados por
#include "archivo"
las directivas que aparecen en el código fuente se sobrescribirán con el código convertido. Si
no se dan nombres de archivo en la línea de comando, luego el programa lee el código fuente de
la entrada estándar y envía la fuente convertida a la salida estándar.

Si aparecen comentarios en las declaraciones de parámetros para una definición de función, como en
el ejemplo,
principal (argc, argv)
int argc; / * número de argumentos * /
char * argv []; / * argumentos * /
{
}
entonces la definición de función convertida tendrá la forma
int
principal (
int argc, / * número de argumentos * /
char * argv [] / * argumentos * /
)
{
}
De lo contrario, la definición de función convertida se verá así
int
principal (int argc, char * argv [])
{
}

protocolo Opcionalmente, puede convertir definiciones de funciones del estilo ANSI al estilo antiguo.
En este modo, el programa también convierte los declaradores de funciones y los prototipos que aparecen
Órganos de función exterior. Esta no es una conversión completa de ANSI C a C antiguo. El programa
no cambia nada dentro de los cuerpos funcionales.

protocolo opcionalmente, puede generar fuentes en formato de biblioteca de pelusa. Esto es útil en
entornos donde el hilas La utilidad se utiliza para complementar la comprobación de prototipos de su
.

OPCIONES


-e Salida de la palabra clave externo delante de cada prototipo generado o declaración que
tiene alcance global.

-f n Establecer el estilo de los prototipos de funciones generados donde n es un número del 0 al 3.
Por ejemplo, considere la definición de función
principal (argc, argv)
intargc;
char * argv [];
{
}
Si el valor es 0, no se generan prototipos. Cuando se establece en 1, la salida es:
int main (/ * int argc, char * argv [] * /);
Para un valor de 2, la salida tiene la forma:
int main (int / * argc * /, char * / * argv * / []);
El valor predeterminado es 3. Produce el prototipo de función completa:
int main (int argc, char * argv []);

-l Genera texto para una biblioteca de pelusa (anula el "-f"opción). La salida incluye
el comentario
/ * LINTBIBRARY * /
Los comentarios especiales LINT_EXTERN y LINT_PREPRO (a la "VARARGS") se activan respectivamente
la opción "-x" y copie el texto del comentario en la salida (para preprocesar en hilas).
Usa el comentario
/ * LINT_EXTERN2 * /
para incluir externos definidos en el primer nivel de archivos de inclusión. Usa el comentario
/ * LINT_SHADOWED * /
causar protocolo poner directivas "#undef" antes de cada declaración de biblioteca de lint
(es decir, para evitar conflictos con macros que tienen que tener el mismo nombre que
las funciones, lo que provoca errores de sintaxis).

Tenga en cuenta que estos comentarios especiales no son compatibles con VAX / VMS, ya que no hay
equivalente para la opción "-C" de cpp con VAX-C.

-c Los comentarios de los parámetros en los prototipos generados por las opciones -f1 y -f2 son
omitido por defecto. Utilice esta opción para habilitar la salida de estos comentarios.

-m Coloque una macro alrededor de la lista de parámetros de cada prototipo generado. Por ejemplo:
int main P _ ((int argc, char * argv []));

-M nombre
Establezca el nombre de la macro utilizada para rodear las listas de parámetros del prototipo cuando la opción -m
está seleccionado. El valor predeterminado es "P_".

-d Omita la definición de la macro prototipo utilizada por la opción -m.

-o presentar
Especifique el nombre del archivo de salida (predeterminado: salida estándar).

-O presentar
Especifique el nombre del archivo de error (predeterminado: error estándar).

-p Desactive la promoción de parámetros formales en definiciones de funciones de estilo antiguo. Por
por defecto, parámetros de tipo tanque or short en el estilo antiguo, las definiciones de funciones son
promovido a tipo int en el prototipo de función o función ANSI C convertida
definición. Parámetros de tipo flotar ser ascendido a doble .

-q No muestre ningún mensaje de error cuando el programa no pueda leer el archivo especificado en
an #incluir Directiva.

-s De forma predeterminada, protocolo solo genera declaraciones para funciones y variables que tienen
alcance global. Esta opción generará estático declaraciones también.

-S Salida solo declaraciones estáticas.

-i De forma predeterminada, protocolo solo genera declaraciones para funciones y variables que tienen
alcance global. Esta opción generará en línea declaraciones también.

-T Copie las definiciones de tipo de cada archivo. (Las definiciones de los archivos incluidos se copian,
a diferencia de la opción "-l").

-v También declaraciones de salida para variables definidas en la fuente.

-x Esta opción hace que los procedimientos y variables declarados "externos" sean
incluido en la salida.

-X nivel
Esta opción limita el nivel de archivo de inclusión desde el cual las declaraciones son extraídas por
examinar la salida del preprocesador.

-a Convierta las definiciones de funciones del estilo antiguo al estilo ANSI C.

-t Convierta las definiciones de funciones del estilo ANSI C al estilo tradicional.

-b Reescriba los cabezales de definición de funciones para incluir tanto el estilo antiguo como el nuevo
declaraciones separadas por una directiva de compilación condicional. Por ejemplo, el
El programa puede generar esta definición de función:
#ifdef ANSI_FUNC

int
principal (int argc, char * argv [])
#else

int
principal (argc, argv)
intargc;
char * argv []
#terminara si
{
}

-B Directivas
Establezca la directiva de compilación condicional para que se genere al comienzo de la función
definiciones generadas por la opción -b. El valor predeterminado es
#ifdef ANSI_FUNC

-P plantilla
-F plantilla
-C plantilla
Establecer el formato de salida para los prototipos generados, las definiciones de funciones y las funciones.
definiciones con comentarios de parámetros respectivamente. El formato se especifica mediante un
plantilla en el formulario
"int f (a, b)"
pero puede reemplazar cada espacio en esta cadena con cualquier número de espacios en blanco
caracteres. Por ejemplo, la opción
-F "int f (\ n \ ta, \ n \ tb \ n \ t)"
Producirá
int main (
argumento int,
char * argv []
)

-D nombre [= valor]
Esta opción se pasa al preprocesador y se utiliza para definir símbolos para
usar con condicionales como #ifdef.

-U nombre
Esta opción se pasa al preprocesador y se usa para eliminar cualquier
definiciones de este símbolo.

-I directorio
Esta opción se pasa al preprocesador y se utiliza para especificar un
directorio para buscar archivos a los que se hace referencia con #incluir.

-E cpp Canalice los archivos de entrada a través del comando del preprocesador C especificado al generar
prototipos. Por defecto, el programa usa / lib / cpp.

-E 0 No ejecute el preprocesador C.

-V Imprime la información de la versión.

MEDIO AMBIENTE


La variable de entorno CPROTO se analiza en busca de una lista de opciones en el mismo formato que el
opciones de la línea de comandos. Las opciones dadas en la línea de comando anulan cualquier
opción de entorno.

Utilice cproto en línea utilizando los servicios de onworks.net



Últimos programas en línea de Linux y Windows