.png)
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
; cc
está 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 cc
e g++
respectivamente; BSDs tendem a usar cc
e 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 cc
talvez uma vez.
A maioria das distribuições Linux fornece um link simbólico de cc
para 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.