A diferença entre o compilador GCC e CC

GCC vs CC Compiler

CC é o nome dado ao comando do compilador UNIX. Ele é usado como o comando de compilador padrão para o seu sistema operacional e também é executável com o mesmo comando. GCC, por outro lado, é o sistema operacional GNU de compilador. Em sistemas que rodam em GNU e Linux, é comum encontrar o CC sendo um link para que os scripts possam usar qualquer compilador de forma intercambiável e fácil. Existem várias diferenças observadas no que diz respeito ao uso da coleção GNU de Compiladores e do compilador CC. Estas diferenças podem geralmente ser agrupadas em dois grupos principais. Um deles é mais específico, enquanto o outro grupo é mais genérico.

diferenças

A principal diferença entre as duas ofertas com compiladores C e compiladores C++. Os compiladores C++ aceitam programas C++, mas não compila programas em C arbitrariamente. Isso é geralmente verdade, embora tenha sido mostrado que é possível escrever um código de linguagem C em um subconjunto que pode ser compreendido bem pelo c++, mesmo quando muitos programas C não são programas C++ válidos. Por outro lado, compiladores C aceitam programas C, mas rejeitam a maioria dos programas C++ que são executados neles. A razão pela qual este problema surge é que a maioria dos programas C++ executam construções que não estão disponíveis Em C.

As bibliotecas disponíveis para estas linguagens de programa dependem em grande parte da linguagem. Programas C++ podem ser executados em bibliotecas C, mas isso é específico da plataforma. Os programas C, por outro lado, não podem usar bibliotecas C++; assim, C++ tende a ter um conjunto de bibliotecas maior disponível do que C.

no Solaris, o código objeto que é produzido pelo comando do compilador não é de forma alguma compatível com o código produzido pelo g++, Uma vez que estes são dois Compiladores separados e suas convenções serão diferentes. Os principais pontos diferentes são o tratamento de exceções e mutilação de nomes. No entanto, é importante notar que o mutilamento de nomes é importante para evitar que objetos compatíveis sejam ligados entre si. Isto aponta para o fato de que o uso de uma biblioteca compilada em CC necessita que todo o programa seja compilado em 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.

em qualidade de montador que é gerado, o GCC, que é a coleção de compiladores GNU, é extremamente bom nesta tarefa. Os compiladores nativos, no entanto, funcionam melhor às vezes. Compiladores de Intel podem ser ditos ter otimizações completas que ainda estão para ser replicados no GCC.

ambos os compiladores são todos novos aos padrões atuais, mesmo que haja pequenas diferenças entre a linguagem de padrões e a linguagem que o compilador suporta. Estes padrões são (C++98, C++2003, C99). O suporte C89 mais antigo está disponível em ambos os compiladores e uma compreensão das respostas esperadas é crucial para garantir que o compilador rola para fora como esperado. Tudo em todo o GCC parece estar focado em tornar a vida mais fácil devido a extensões e ajustes que podem ser feitos a ele para obter o resultado desejado.

resumo

Existe um problema com a compatibilidade cruzada das bibliotecas de compiladores C e c++.os programas C++ podem ser executados em bibliotecas C, mas isto é específico da plataforma.

para usar uma biblioteca composta em CC requer que todo o programa seja compilado com CC e não GCC.
Se você tem uma biblioteca compilada em CC e g++, Uma das bibliotecas deve ser recompilada.

GCC faz um trabalho maravilhoso na criação de conjuntos de qualidade.tanto CC quanto GCC em recursos de linguagem são grandes em relação aos padrões atuais.

Deixe uma resposta

O seu endereço de email não será publicado.