Nome portátil do compilador C++ (e vinculador)

Nome portátil do compilador C++ (e vinculador)

cc é o nome POSIX do compilador C. Existe um nome geral para o compilador C++ (e vinculador). Observe que g++também adiciona algumas bibliotecas, que não serão incluídas ao usar gcc ou ld simples.

Responder1

O front-end do compilador POSIX C éagorac99; ccestá amplamente disponível, mas não é garantido. POSIX não especifica nada relacionado a C++, então você não encontrará um comando padronizado para invocar um compilador e vinculador C++ lá.

Prática comum (ver por exemploGNU Make) é confiar nas variáveis CC​​e CXX. No caso do GNU, os valores padrão para estes são cce g++respectivamente; BSDs tendem a usar cce c++(veja por exemploConfiguração do OpenBSD). O vinculador é acessado por meio do driver do compilador e não é invocado explicitamente.

Responder2

Quanto ao Linux, a maioria dos Makefiles que vi nas últimas duas décadas não usa nada além de gcc/ g++. Quando alguém se preocupa em usar um vinculador real e não o GCC, normalmente especifica ld. Eu vi cctalvez uma vez.

A maioria das distribuições Linux fornece um link simbólico de ccpara gcc, mas não o fazem se você remover o GCC e instalar o clang.

Não faço ideia se é portátil, como por exemplo, o FreeBSD migrou recentemente para o Clang/LVM, outros BSDs continuam a usar o GCC, o Mac OS também usa o Clang. O Android tem seu próprio conjunto de ferramentas.

Eu não usei nenhum outro Unixes, então sem comentários.

Qual é o seu caso de uso? Edite sua pergunta e forneça mais detalhes.

informação relacionada