2009-07-22 9 views
4

J'apprends C++ et quand je testais le Microsoft Visual C++ 2008 Express et Eclipse Ganymede, mais avec le g ++ compilateur par défaut, je l'ai noté qu'un même code dans VC++ obtenir des erreurs et g ++ compiler normalement, sans erreurs ou d'avertissements et d'exécuter normalement, mais je veux savoir quelle est la différence entre syntaxe VC++ et g ++ syntaxe? Merci!différence Situés entre Visual C++ 2008 et g ++

+0

Il ya beaucoup de différences, la meilleure option (comme pour la plupart des questions) est de publier le code et les erreurs générées ici. – Justicle

+0

Merci pour le vote up! –

+0

@Justile, je veux connaître la différence en général. Merci! –

Répondre

0

S'il vous plaît ajouter à la réponse de Pavel :

Si vous développez un produit multiplateforme, utilisez g ++ (MingW) et respectez la norme C++. Utilisez les API compatibles POSIX fournies par MingW lorsque les fonctionnalités standard ne remplissent pas cet objectif. Un exécutable construit en utilisant MingW n'a pas besoin d'une exécution spéciale pour être installé sur le système cible, mais VC++ 2008 l'exige. Le déploiement est donc plus simple avec les applications MingW.

Un avantage de VC++ est son excellent IDE. Le compilateur Microsoft semble également effectuer certaines optimisations spécifiques à Windows. Cependant, MingW complété par l'IDE CodeBlocks peut vous offrir un environnement de développement C++ gratuit, multiplateforme et gratuit.

+0

Aussi l'EDI NetBeans vous offre un excellent environnement de développement. –

+0

Il montre quelque chose si le compilateur Linux est la norme et le compilateur/IDE Microsoft ne doit pas être utilisé pour la plate-forme multiplateforme. – CoffeeRain

4

C'est un sujet très vaste. Les deux compilateurs sont largement conformes à ISO C++ avec quelques exceptions, mais ces exceptions peuvent différer (par exemple, VC++ traite throw spécificateur sur les fonctions d'une manière non standard, alors que g ++ est conforme à cet égard). En outre, les deux compilateurs fournissent un nombre assez important d'extensions, qui sont pour la plupart mutuellement incompatibles (par exemple, VC++ __property et __interface, ou g ++ typeof et goto calculé). En général, le meilleur conseil ici est de consulter la documentation de l'un ou l'autre produit. Si vous avez un code spécifique que vous rencontrez des problèmes, et que vous aimeriez savoir pourquoi il compile avec l'un mais pas avec l'autre, alors il serait possible de répondre plus en détail.

+0

Merci, votre réponse est très bonne! –

13

ne peux pas commenter parce que je suis nouveau (la réputation est pas 50 encore), mais voici une autre question Stack Overflow qui traite un sujet similaire:

Compiling differences in Visual C++ and *nix environments

+3

+1 pour arriver à 49 de sorte que vous pouvez presque commenter –

+2

Ah, merci :) – Umair

+0

+1 pour la réponse et parce que maintenant vous pouvez commenter! –

Questions connexes