Compilador GCC vs CC
CC é o nome dado ao comando do compilador UNIX. É usado como o comando do compilador padrão para o seu sistema operacional e também é executável com o mesmo comando. O GCC, por outro lado, é o sistema operacional GNU Compiler. Em sistemas executados no GNU e Linux, é comum encontrar o CC como um link para que os scripts possam usar o compilador de maneira intercambiável e fácil. Existem várias diferenças observadas em relação ao uso da coleção do compilador GNU e do compilador CC. Essas diferenças geralmente podem ser agrupadas em dois grupos principais. Uma delas é mais específica, enquanto o outro grupo é mais genérico..
Diferenças
A principal diferença entre os dois lida com os compiladores C e C ++. Os compiladores C ++ aceitam programas C ++, mas não compilam programas em C arbitrariamente. Isso geralmente é verdade, embora tenha sido demonstrado que é possível escrever um código da linguagem C em um subconjunto que possa ser bem entendido pelo C ++, mesmo quando muitos programas C não são válidos. Por outro lado, os compiladores C aceitam programas C, mas rejeitam a maioria dos programas C ++ executados neles. A razão pela qual esse problema surge é que a maioria dos programas C ++ executa construções que não estão disponíveis no C.
As bibliotecas disponíveis para essas linguagens de programa dependem amplamente do idioma. Os programas C ++ podem funcionar em bibliotecas C, mas isso é específico da plataforma. Programas C, por outro lado, não podem usar bibliotecas C ++; portanto, o C ++ tende a ter um conjunto de bibliotecas maior disponível do que o C.
No Solaris, o código do objeto produzido pelo comando compiler não é de forma alguma compatível com o código produzido pelo g ++, pois são dois compiladores separados e suas convenções serão diferentes. Os principais pontos diferentes são manipulação de exceção e manipulação de nomes. No entanto, é importante observar que a troca de nomes é importante para impedir que objetos compatíveis sejam vinculados. Isso, na verdade, aponta para o fato de que o uso de uma biblioteca compilada no CC precisa que todo o programa seja compilado no CC. Além disso, se você precisar usar uma biblioteca compilada com CC e outra com g ++, uma recompilação de bibliotecas deve ser feita para garantir a funcionalidade desejada.
Na qualidade do assembler gerado, o GCC, que é a GNU Compiler Collection, é extremamente bom nessa tarefa. Compiladores nativos, no entanto, funcionam melhor às vezes. Pode-se dizer que os compiladores da Intel possuem otimizações completas que ainda precisam ser replicadas no GCC.
Ambos os compiladores são totalmente novos para os padrões atuais, mesmo que haja pequenas diferenças entre o idioma dos padrões e o idioma que o compilador suporta. Esses padrões são (C ++ 98, C ++ 2003, C99). O suporte C89 mais antigo está disponível nos dois compiladores e o entendimento das respostas esperadas é crucial para garantir que o compilador seja implementado conforme o esperado. No geral, o GCC parece estar focado em facilitar a vida devido a extensões e ajustes que podem ser feitos para obter o resultado desejado.
Sumário
Há um problema com a compatibilidade cruzada das bibliotecas do compilador C e C ++.
Os programas C ++ podem funcionar em bibliotecas C, mas isso é específico da plataforma.
Para usar uma biblioteca composta em CC, é necessário compilar todo o programa com CC e não com o GCC.
Se você tiver uma biblioteca compilada em CC e g ++, uma das bibliotecas deverá ser recompilada.
O GCC faz um trabalho maravilhoso na criação de montagens de qualidade.
Os recursos de linguagem CC e GCC são ótimos em relação aos padrões atuais.