cc, cxx — interfaces para compiladores Microsoft C e C++

SYNOPSIS

cc]]files…

cxx]files…

DESCRIÇÃO

Os comandos cc e cxx servem como interfaces para o compilador Microsoft C (cl).Versões 5.0 e superiores deste compilador são suportadas.cc é para compilar arquivos C, enquanto cxx é para compilar arquivos C++.

Nota:

O comportamento do cc depende se você está ou não trabalhando no ambiente de desenvolvimento padrão do MKS Toolkit ou no ambiente de desenvolvimento projetado para uso com as APIs UNIX do MKS Toolkit.

cxx só está disponível no ambiente de desenvolvimento UNIX APIs do PTC MKS Toolkit.

Estes comandos são apenas wrappers que invocam o clutility. Se você estiver usando o PTC MKS Toolkit for Professional Developers ou o PTC MKS Toolkit for Developers, a presença do clin PATH é verificada durante a instalação.Para outros produtos Toolkit, você deve assegurar-se de que os clis no PATH.

Files with a .c suffix are taken to be C source files,files with a .cpp or .cxx extension are takento be C++ source files, and files with asm extension aretaken to be assembly language source files.The presence of source files with a .cpp or .cxxautomaticamente faz com que os arquivos fonte sejam compilados como se o comandocxx tivesse sido invocado no lugar.

Os comandos cc e cxx implicitamente definem as seguintes chaves do compilador Microsoft (somente para plataformas Intel):

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

Nota:

A opção /D_NUTC_=0x430 só é definida quando se trabalha no ambiente de desenvolvimento do PTC MKS Toolkit UNIX APIs.

A opção /Qifdiv- só está definida quando se trabalha no ambiente de desenvolvimento UNIX APIs do PTC MKS Toolkit e só está disponível para o Microsoft Visual Studio 2.1 ou posterior.

Pode usar a opção -W/optionflag para passar as opções directamente para o cl.Ao fazer isto, tenha cuidado para não entrar em conflito com as opções que este conjunto de comandos. Por exemplo, o nível de aviso padrão do compilador é definido para/W3. A opção -W/Wn pode ser usada para sobrescrever estas opções padrão.cl especificadas com -W overridecl opções geradas por outras cc orcxx options.

Options

-c

compiles only – não faz link.

>

Esta opção torna-se a opção /c para cl.

-C

passa comentários para a saída do pré-processador.

Esta opção torna-se a opção /C para cl.

-Dnome

define um símbolo de pré-processador com um valor opcional.

>

Esta opção torna-se a opção /Dname=valor para cl.

-E

envia toda a saída do pré-processador para a saída padrão.

Esta opção torna-se a opção /E para cl.

-E -e epsym

sets entry point (passed through to linker).

-ffloat

specifies the floating point options that the compiler and linker use:

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

Nota:

Esta opção é obsoleta e produz um aviso. Ela é fornecida para retroceder a compatibilidade e não está disponível com o cxxor quando se trabalha no ambiente de desenvolvimento UNIX APIs do PTC MKS Toolkit.

-g

produz informações de depuração nos módulos de objetos compilados.

Esta opção torna-se a opção /Z7 para cl.

-I directory

adds diretório para o início da lista de diretórios a serem pesquisados para incluir arquivos (o valor da variável de ambiente %Include%). Quaisquer diretórios fornecidos na linha de comando são pesquisados primeiro, na ordem em que aparecem na linha de comando.

Esta opção torna-se a opção /Idirectoryoption para cl.

-l library

if linking, adiciona a biblioteca especificada à lista de bibliotecas a serem pesquisadas.Ao pesquisar por bibliotecas (por exemplo, com -lfoo), cada diretório de biblioteca é pesquisado primeiro pelo nome do arquivo no estilo UNIX(ou seja, libfoo.a) e depois pelo nome da biblioteca estilo Windows(isto é, foo.lib).

Esta opção é passada para o linker.

-L directory

if linking, adiciona o diretório ao início da lista de diretórios que o linker procura por bibliotecas (o valor da variável %Lib%environment). Quaisquer diretórios fornecidos na linha de comando são pesquisados primeiro, na ordem em que aparecem na linha de comando.

Esta opção é passada para o linker.

-m

produz um mapa de links.

Esta opção é passada para o linker.

-mmodel

especifica o modelo de memória que o compilador e o linker usam. Os modelos podem incluir:

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

Nota:

Esta opção é obsoleta e produz um aviso. Ela é fornecida para retrocompatibilidade e não está disponível com cxxor quando se trabalha no ambiente de desenvolvimento das APIs UNIX do PTC MKS Toolkit.

-M

completa sobre multiplicar símbolos definidos.

Nota:

Este comportamento só está disponível quando se trabalha no ambiente de desenvolvimento das APIs UNIX do PTC MKS Toolkit. Caso contrário, -M é idêntico à opção -m.

-o output

specifica o nome do arquivo de saída gerado pelo linker. Esta opção é passada para o linker.Se -c e -o são ambos especificados, a opção -o é ignorada; no entanto, você pode especificar um nome para o arquivo objeto gerado com -W/Foobj_file.

Nota:

Ao trabalhar no ambiente de desenvolvimento UNIX APIs do PTC MKS Toolkit UNIX, a opção -oopção não é ignorada. Ao invés disso, ela se comporta como -W/Foobj_file e especifica o nome do arquivo objeto gerado.

Nomes de arquivos especificados com a opção -W/Fo deve ter a extensão .o ou .obj. Se o nome do arquivo não tiver tal extensão, sua extensão atual é substituída por .obj antes de invocar o linker. Entretanto, quando -cis também é especificado, não há restrições na extensão do arquivo especificado.

-O

instrui o compilador a gerar código otimizado.

Esta opção torna-se a opção /Ox para cl.

-P

store a saída do pré-processador para um arquivo, onde o nome do arquivo é obtido pela substituição da extensão .c(ou .cpp) por .i.

-s

quando o link, retira informações de depuração do arquivo de saída.

Esta opção é passada para o linker.

-S

produz uma listagem de código assembly. O sufixo para o arquivo de listagem é .asm. Esta listagem inclui código fonte e código assembly.

Esta opção torna-se a opção /FAs para cl.

-static

requests linking contra as bibliotecas estáticas C++ runtime.Isto não é recomendado.

Quando esta opção não é especificada, o /MD tocl é o padrão para DLLs em C++ e multithreaded produzidas.

-u symname

quando se liga, adiciona uma referência indefinida ao symname.

Esta opção é passada para o linker.

-U symname

define o símbolo do pré-processador especificado.

Esta opção torna-se a opção /Usymnameoption para cl.

-VS num

passa para a opção /VERSION linker.

-Wc++

força o linker C++.

Esta opção é passada para o linker.

Nota:

Os caminhos da biblioteca C+++ só estão disponíveis quando se trabalha no ambiente de desenvolvimento para o PTC MKS Toolkit UNIX APIs. Se você não estiver trabalhando neste ambiente, você deve especificar estes caminhos de biblioteca com a opção -L.

-Wv

selects verbose mode.

Esta opção é passada para o linker.

-W/opção

especifica uma opção que deve ser passada ou para o compilador C ou para o linker com o leading -W removido. As opções – subsystem, def,base, entry, implib,machine, map, out,stack e dll – são passadas para o linker; todas as outras são passadas para o compilador.

-x

quando o linker, as informações de depuração das faixas relacionadas aos símbolos locais do arquivo de saída.

Esta opção é passada para o linker.

-Xc

compiles com estrita conformidade ANSI C.Somente símbolos especificados pela especificação ANSI C são visíveis durante a compilação.

Esta opção torna-se a opção /D__STRICT_ANSI=1 e/ouD__STDC__=1 para cl.

-Xa -Xs -Xt

compiles com conformidade ANSI C não restrita. Apenas os símbolos especificados pela especificação ANSI C são visíveis durante a compilação.

Esta opção torna-se o /D__STDC__=0 tocl.

Embora esta página de referência descreva cc como uma interface para o compilador C da Microsoft, esta não é a verdade completa. Na verdade, cc é uma interface configurável para qualquer compilador C e foi projetado para uso com make. Teoricamente, você pode redefinir cc em cada sistema para trabalhar com o compilador C desse sistema e simplesmente usando cc nos seus makefiles, você pode usar esses mesmos makefiles em diferentes sistemas.

cc usa um arquivo de configuração de compilação para converter argumentos em uma linha de comando padrão nos argumentos para o comando ou seqüência de comandos necessários para chamar orlinker do seu compilador. Se você quiser mudar seu compilador ou linker, mude o arquivo de configuração apropriado; não mude seu makefile.

O arquivo de configuração padrão para cc é

ROOTDIR/etc/compiler.ccg

Você pode escolher um arquivo de configuração diferente definindo a variável de ambiente CCG para apontar para o arquivo desejado.Interfaces para outros compiladores podem estar disponíveis no MKS.

Se você quiser que cc use temporariamente um compilador diferente,você pode definir a variável de ambiente CCG para o nome do arquivo de configuração para o compilador desejado.

Se você renomear o executável cc, ele tenta encontrar sua configuração por defeito em um arquivo .ccg com o mesmo nome base como o executável renomeado.Por exemplo, se você renomear cc.exe para c89.exe,c89 procura por um arquivo de configuração padrão chamadoc89.ccg em ROOTDIR/etc.

Se você usa um compilador que não tem um arquivo de configuração, você pode personalizar um dado arquivo de configuração para usar o seu compilador. Leia cuidadosamente a página de referência de informações diversas cc, e modifique uma configuração existente para usar o seu compilador.

VARIABILIDADES DE MEIO AMBIENTE

CCG

identifica o arquivo de configuração para o compilador desejado. Se o CCG contém -, o cc lê a configuração padrão a partir da entrada padrão.Se CCG contém um nome de arquivo, cc usa esse arquivo como seu arquivo de configuração padrão. Se CCG contém um nome de diretório, cclooks para a configuração padrão no arquivo cc.ccg nesse diretório. Se o executável foi renomeado, ele procura a configuração padrão em um arquivo .ccg com o mesmo nome do executável. Por exemplo, se cc.exe é renomeado para c89.exe, ele procura a configuração padrão em $CCG/c89.ccg.

DIAGNOSTICS

Possíveis valores de estado de saída são:

0

Conclusão com sucesso.

>0

Ocorreu um erro.

NOTE

O utilitário cc, como muitos outros comandos relacionados ao compilador, na verdade lança um scriptCCG apropriado (veja a página de referência variada do cc) topreprocessar as opções descritas antes de chamar o compilador Microsoft executar o compilador real.A execução real do script CCG é determinada pelo settingof da variável de ambiente CCG (veja VÁRIAS DE MEIO AMBIENTE) que pode variar dependendo se você está ou não trabalhando no ambiente de desenvolvimento da plataforma NuTCRACKER.

Para modificar cc (por exemplo, para trabalhar com um compilador diferente), você simplesmente precisa modificar o script CCG que ccruns com base na configuração da variável de ambiente CCG.

AVAILABILIDADE

O comando cc está disponível com os seguintes produtos:

>

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

O comando cxx está disponível com os seguintes produtos:

PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers Edição 64-Bit
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers Edição 64-Bit

VER TAMBÉM

Comandos: ld, make Miscellaneous: cc

PTC MKS Toolkit 10.3 Construção de Documentação 39.


Deixe um comentário