cc, cxx — interfaces para los compiladores C y C++ de Microsoft

SYNOPSIS

cc]]archivos…

cxx]archivos…

DESCRIPCIÓN

Los comandos cc y cxx sirven como interfaces para el compilador C de Microsoft (cl).Las versiones 5.0 y superiores de este compilador son compatibles.cc es para compilar archivos C, mientras que cxx es para compilar archivos C++.

Nota:

El comportamiento de cc depende de si está trabajando en el entorno de desarrollo estándar de MKS Toolkit o en el entorno de desarrollo diseñado para utilizar las API UNIX de MKS Toolkit.

cxx sólo está disponible en el entorno de desarrollo del PTC MKS Toolkit UNIX APIs.

Estos comandos son sólo envoltorios que invocan la utilidad cl.Si está utilizando el PTC MKS Toolkit for Professional Developers o el PTC MKS Toolkit for Developers, se comprueba la presencia de clin PATH durante la instalación.Para otros productos del Toolkit, debe asegurarse de que cl está en el PATH.

Los archivos con un sufijo .c se consideran archivos fuente C, los archivos con una extensión .cpp o .cxx se consideran archivos fuente C++, y los archivos con una extensión .asm se consideran archivos fuente en lenguaje ensamblador.La presencia de archivos fuente con un sufijo .cpp o .cxxautomáticamente hace que los archivos fuente se compilen como si se hubiera invocado el comandocxx en su lugar.

Los comandos cc y cxx establecen implícitamente los siguientes conmutadores del compilador de Microsoft (sólo para plataformas Intel):

/D_X86_/D_NUTC_=0x430 (Value changes with each release)/Zl/Qifdiv-

Nota:

La opción /D_NUTC_=0x430 sólo se establece cuando se trabaja en el entorno de desarrollo de PTC MKS Toolkit UNIX APIs.

La opción /Qifdiv- sólo se establece cuando se trabaja en el entorno de desarrollo de PTC MKS Toolkit UNIX APIs y sólo está disponible para Microsoft Visual Studio 2.1 o posterior.

Puede utilizar el indicador -W/optionflag para pasar opciones directamente a cl.Al hacer esto, tenga cuidado de no entrar en conflicto con las opciones que este comando establece. Por ejemplo, el nivel de advertencia del compilador por defecto es W3. Las opciones de cl especificadas con -W anulan las opciones de cl generadas por otras opciones de cc orcxx.

Opciones

-c

compila solamente – no enlaza.

Esta opción se convierte en la opción /c de cl.

-C

pasa los comentarios a la salida del preprocesador.

Esta opción se convierte en la opción /C de cl.

-Dname

define un símbolo del preprocesador con un valor opcional.

Esta opción se convierte en la opción /Dname=valor de cl.

-E

envía toda la salida del preprocesador a la salida estándar.

Esta opción se convierte en la opción /E de cl.

-e epsym

establece el punto de entrada (se pasa al enlazador).

-ffloat

especifica las opciones de punto flotante que utilizan el compilador y el enlazador:

-f- no floating point required-f emulated floating point-fp hardware floating point (using 80x87 coprocessor)

Nota:

Esta opción es obsoleta y produce una advertencia. Se proporciona por compatibilidad con versiones anteriores y no está disponible con cxxor cuando se trabaja en el entorno de desarrollo de las APIs UNIX del PTC MKS Toolkit.

-g

produce información de depuración en los módulos de objetos compilados.

Esta opción se convierte en la opción /Z7 de cl.

-I directorio

añade el directorio al principio de la lista de directorios que se buscarán para los archivos de inclusión (el valor de la variable de entorno %Include%). Cualquier directorio suministrado en la línea de comandos se busca primero, en el orden en que aparece en la línea de comandos.

Esta opción se convierte en la opción /Idirectorio de cl.

-l biblioteca

si se enlaza, añade la biblioteca especificada a la lista de bibliotecas a buscar.En la búsqueda de bibliotecas (por ejemplo, con -lfoo), cada directorio de bibliotecas se busca primero por el nombre de archivo al estilo UNIX (es decir, libfoo.a) y luego el nombre de la biblioteca al estilo de Windows (es decir, foo.lib).

Esta opción se pasa al enlazador.

-L directorio

si se enlaza, añade el directorio al principio de la lista de directorios que el enlazador busca para las bibliotecas (el valor de la variable de entorno %Lib%). Cualquier directorio suministrado en la línea de comandos se busca primero, en el orden en que aparecen en la línea de comandos.

Esta opción se pasa al enlazador.

-m

produce un mapa de enlaces.

Esta opción se transmite al enlazador.

-mmodel

especifica el modelo de memoria que utilizan el compilador y el enlazador.Los modelos pueden incluir:

-ms small model-mm medium model-ml large model-mf flat model (32-bit)-mc compact model-mh huge model

Nota:

Esta opción es obsoleta y produce una advertencia. Se proporciona por compatibilidad con versiones anteriores y no está disponible con cxxor cuando se trabaja en el entorno de desarrollo de las APIs UNIX del PTC MKS Toolkit.

-M

comenta los símbolos definidos de forma múltiple.

Nota:

Este comportamiento sólo está disponible cuando se trabaja en el entorno de desarrollo de las APIs UNIX del PTC MKS Toolkit. De lo contrario, -M es idéntico a la opción -m.

-o output

especifica el nombre del archivo de salida generado por el enlazador. Esta opción se pasa al enlazador.Si se especifican -c y -o, la opción-o se ignora; sin embargo, puede especificar un nombre para el archivo de objetos generado con -W/Foobj_file.

Nota:

Cuando se trabaja en el entorno de desarrollo de las APIs UNIX del PTC MKS Toolkit, la opción -o no se ignora. En su lugar, se comporta como -W/Foobj_file y especifica el nombre del archivo de objetos generado.

Los nombres de archivos especificados con la opción -W/Fo deben tener una extensión .o o .obj. Si el nombre del archivo no tiene dicha extensión, su extensión actual se sustituye por .obj antes de invocar el enlazador. Sin embargo, cuando también se especifica -, no hay restricciones en la extensión del archivo especificado.

-O

indica al compilador que genere código optimizado.

Esta opción se convierte en la opción /Ox de cl.

-P

almacena la salida del preprocesador en un archivo, cuyo nombre se obtiene sustituyendo la extensión .c(o .cpp) por .i.

-s

al enlazar, elimina la información de depuración del archivo de salida.

Esta opción se pasa al enlazador.

-S

produce un listado de código ensamblador. El sufijo del archivo de listado es .asm. Este listado incluye el código fuente y el código ensamblador.

Esta opción se convierte en la opción /FAs de cl.

-static

solicita la vinculación con las bibliotecas estáticas de tiempo de ejecución de C++.No se recomienda.

Cuando no se especifica esta opción, el tocl /MD es el predeterminado para C++ y se producen DLLs multihilo.

-u symname

al enlazar, añade una referencia indefinida a symname.

Esta opción se pasa al enlazador.

-U symname

desdefine el símbolo de preprocesador especificado.

Esta opción se convierte en la opción /Usymname para cl.

-VS num

pasa a través de la opción del enlazador /VERSION.

-Wc++

forza el enlazado C++.

Esta opción se transmite al enlazador.

Nota:

Las rutas de las bibliotecas C++ sólo están disponibles cuando se trabaja en el entorno de desarrollo para las API UNIX del PTC MKS Toolkit. Si no está trabajando en este entorno, debe especificar estas rutas de biblioteca con la opción -L.

-Wv

selecciona el modo verbose.

Esta opción se pasa al enlazador.

-W/option

especifica una opción que se pasa al compilador de C o al enlazador sin la -W inicial.Las opciones – subsystem, def,base, entry, implib,machine, map, out,stack, y dll – se pasan al enlazador; todas las demás se pasan al compilador.

-x

al enlazar, elimina la información de depuración relacionada con los símbolos locales del archivo de salida.

Esta opción se pasa al enlazador.

-Xc

compila con conformidad ANSI C estricta.Sólo los símbolos especificados por la especificación ANSI C son visibles durante la compilación.

Esta opción se convierte en las opciones /D__STRICT_ANSI=1 y/D__STDC__=1 para cl.

-Xa -Xs -Xt

compila con conformidad ANSI C no estricta. Sólo los símbolos especificados por la especificaciónANSI C son visibles durante la compilación.

Esta opción se convierte en el /D__STDC__=0 tocl.

Aunque esta página de referencia describe cc como una interfaz para el compilador de C de Microsoft, esa no es la verdad completa. En realidad, cc es una interfaz configurable para cualquier compilador de C y está diseñada para su uso con make. Teóricamente, puedes redefinir cc en cada sistema para que funcione con el compilador de C de ese sistema y, simplemente utilizando cc en tus archivos make, puedes utilizar esos mismos archivos make en diferentes sistemas.

cc utiliza un archivo de configuración de compilación para convertir los argumentos de una línea de comandos estándar en los argumentos del comando o secuencia de comandos necesarios para llamar a tu compilador o enlazador. Si desea cambiar su compilador o enlazador, cambie el archivo de configuración apropiado; no cambie su makefile.

El archivo de configuración por defecto para cc es

ROOTDIR/etc/compiler.ccg

Puede elegir un archivo de configuración diferente estableciendo la variable de entorno CCG para que apunte al archivo deseado.

Si desea que cc utilice temporalmente un compilador diferente, puede establecer la variable de entorno CCG en el nombre del archivo de configuración del compilador deseado.

Si cambia el nombre del ejecutable de cc, éste intenta encontrar su configuración predeterminada en un archivo .ccg con el mismo nombre base que el ejecutable renombrado.Por ejemplo, si cambia el nombre de cc.exe a c89.exe, c89 busca un archivo de configuración predeterminado llamadoc89.ccg en ROOTDIR/etc.

Si utiliza un compilador que no tiene un archivo de configuración, puede personalizar un archivo de configuración dado para utilizar su compilador.Lea cuidadosamente la página de referencia de información miscelánea de cc y modifique una configuración existente para utilizar su compilador.

Variables de entorno

CCG

identifica el archivo de configuración para el compilador deseado.Si CCG contiene -, cc lee la configuración predeterminada de la entrada estándar.Si CCG contiene un nombre de archivo, cc utiliza ese archivo como su archivo de configuración por defecto.Si CCG contiene un nombre de directorio, cc busca la configuración por defecto en el archivo cc.ccg en ese directorio.Si el ejecutable ha sido renombrado, busca la configuración por defecto en un archivo .ccg con el mismo nombre que el ejecutable.Por ejemplo, si cc.exe es renombrado a c89.exe, busca la configuración por defecto en $CCG/c89.ccg.

DIAGNÓSTICO

Los posibles valores de estado de salida son:

0

Terminación exitosa.

>0

Se produjo un error.

NOTA

La utilidad cc, al igual que muchos de los otros comandos relacionados con el compilador, en realidad lanza un script CCG apropiado (véase la página de referencia miscelánea de cc) para procesar las opciones descritas antes de llamar al compilador de Microsoft para realizar la compilación real.La ejecución real de la secuencia de comandos CCG está determinada por la configuración de la variable de entorno CCG (véase VARIABLES DE ENTORNO) que puede variar dependiendo de si está trabajando en el entorno de desarrollo de la Plataforma NuTCRACKER.

Para modificar cc (por ejemplo, para trabajar con un compilador diferente), simplemente necesita modificar la secuencia de comandos CCG que se ejecuta en función de la configuración de la variable de entorno CCG.

Disponibilidad

El comando cc está disponible con los siguientes productos:

PTC MKS Toolkit for Developers
PTC MKS Toolkit for Interoperability
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
PTC Windchill Requirements and Validation

El comando cxx está disponible con los siguientes productos:

PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition

SEE ALSO

Comandos: ld, make Varios: cc

PTC MKS Toolkit 10.3 Documentación Build 39.


Deja un comentario