Différence entre le GCC et le compilateur CC

Différence entre le GCC et le compilateur CC

Compilateur GCC vs CC

CC est le nom donné à la commande du compilateur UNIX. Il est utilisé comme commande de compilateur par défaut pour votre système d'exploitation et est également exécutable avec la même commande. GCC, en revanche, est le système d'exploitation du compilateur GNU. Sur les systèmes qui fonctionnent sur GNU et Linux, il est courant de trouver le CC étant un lien afin que les scripts puissent utiliser l'un ou l'autre compilateur de manière interchangeable et facilement. Il existe différentes différences observées en ce qui concerne l'utilisation de la collection de compilateur GNU et du compilateur CC. Ces différences peuvent généralement être regroupées en deux groupes principaux. L'un d'eux est plus spécifique tandis que l'autre groupe est plus générique.

Différences

La principale différence entre les deux traite des compilateurs C et des compilateurs C ++. Les compilateurs C ++ acceptent les programmes C ++ mais ne compilent pas les programmes en C arbitrairement. Cela est généralement vrai, bien qu'il ait été démontré qu'il est possible d'écrire un code de langue C dans un sous-ensemble qui peut être bien compris par C ++ même lorsque de nombreux programmes C ne sont pas des programmes C ++ valides.  D'un autre côté, les compilateurs C acceptent les programmes C mais rejettent la plupart des programmes C ++ qui y s'exécutent. La raison pour laquelle ce problème se pose est que la plupart des programmes C ++ exécutent des constructions qui ne sont pas disponibles en C.

Les bibliothèques disponibles pour ces langages de programme dépendent en grande partie de la langue. Les programmes C ++ peuvent fonctionner sur les bibliothèques C, mais ceci est spécifique à la plate-forme. Les programmes C, en revanche, ne peuvent pas utiliser les bibliothèques C ++; Ainsi C ++ a tendance à avoir un ensemble de bibliothèque plus grand disponible que C.

Sur Solaris, le code d'objet produit par la commande du compilateur n'est en aucun cas compatible avec le code produit par le G ++ car ce sont deux compilateurs distincts et leurs conventions diffèrent. Les principaux points différents sont la gestion des exceptions et le mangage des noms. Il est cependant important de noter que le nom de nom est important pour empêcher la compatibilité des objets d'être liés ensemble.  Cela indique en effet le fait que l'utilisation d'une bibliothèque compilée en CC doit que l'ensemble du programme soit compilé en CC. De plus, si vous devez utiliser une bibliothèque compilée avec CC et une autre avec G ++, une recompilation des bibliothèques doit être effectuée pour garantir la fonctionnalité souhaitée.

Dans la qualité de l'assembleur généré, GCC, qui est la collection de compilateurs GNU, est extrêmement bon dans cette tâche. Les compilateurs indigènes fonctionnent cependant parfois mieux. On peut dire que les compilateurs Intel ont des optimisations approfondies qui doivent encore être reproduites dans GCC.

Les deux compilateurs sont tous nouveaux selon les normes actuelles, même s'il existe de minuscules différences entre le langage des normes et la langue que le compilateur prend en charge. Ces normes sont (C ++ 98, C ++ 2003, C99). Un support plus ancien C89 est disponible dans les deux compilateurs et une compréhension des réponses attendues est cruciale pour s'assurer que le compilateur déploie comme prévu. Dans l'ensemble, le GCC semble se concentrer pour faciliter la vie en raison des extensions et des ajustements qui peuvent y être faits pour obtenir le résultat souhaité.

Résumé

Il y a un problème avec la compatibilité croisée des bibliothèques de compilateur C et C ++.

Les programmes C ++ peuvent fonctionner sur les bibliothèques C, mais ceci est spécifique à la plate-forme.

Pour utiliser une bibliothèque composée dans CC, l'ensemble du programme est compilé avec CC et non GCC.
Si vous avez une bibliothèque compilée en CC et G ++, l'une des bibliothèques doit être recompilée.

GCC fait un travail merveilleux pour créer des assemblées de qualité.

CC et GCC dans les fonctionnalités linguistiques sont excellents par rapport aux normes actuelles.