Existe-t-il des stratégies ou des méthodes permettant d'identifier si une partie de code ou un programme particulier va générer une erreur de liaison ou une erreur de compilation.Erreurs de compilation et de liaison
Répondre
Vous mentionnez dans vos commentaires "si vous n'avez pas accès à un compilateur". Eh bien, si vous avez accès à Internet, vous avez accès à un compilateur:
- Ideon
- Codepad's compilateur en ligne/analyseur
Comeau's "try it out" web-based compiler
(commenters merci pour les mises à jour)
Cela vous aidera simplement à compiler ce qui est dans le formulaire web. h, la liaison et la production d'un exécutable est une autre histoire ...
Oh mon dieu cette page est moche ... utilisez celle-ci à la place: http://codepad.org/ – mpen
@Mark: Ce que Comeau manque dans la beauté du site Web, il compense avec awesomeness conformes aux normes. –
Oh, ce n'est pas à prix. C'est EDG à prendre en compte ici. Comeau sait juste comment faire de la publicité :) Vous pouvez aussi essayer http://ideone.com/. Il supporte stdin, traite, ne coupe pas les messages d'erreur et a une version plus récente de GCC. –
La meilleure façon est de compiler et de lier votre programme.
Vous pouvez télécharger un compilateur assez facilement. Pour les fenêtres le plus petit et le meilleur pour moi que j'ai trouvé est MinGW. Avec lui, vous pouvez compiler tout votre code via l'invite de commande.
Si vous avez un Mac ou Linux alors vous avez déjà un compilateur installé avec le système d'exploitation. De toute façon, vous pouvez écrire des programmes avec n'importe quel programme de texte, puis compiler la source à partir de la ligne de commande. Voici quelques suggestions pour les programmes de texte qui sont bons pour le codage avec:
Notepad++ (Windows uniquement)
Effectuer une dry run
Vous pouvez utiliser une sorte de vérificateur de syntaxe comme le un Eclipse (développement C/C++) a, cela va vérifier la plupart des erreurs de syntaxe (je pense qu'il vérifie également le type). Il y a aussi flymake/emacs qui fait un excellent travail de la même manière.
Pour les erreurs de liaison, je ne pense pas que ce soit possible a priori.
Sans IDE, vous pouvez utiliser makefiles pour faire le travail. Avec les règles appropriées dans makefiles, vous pouvez compiler des modules séparément, puis les lier tous. Là, vous obtiendrez des erreurs spécifiques aux modules, puis à la fin des erreurs dues à la liaison. Il existe des outils qui peuvent générer des fichiers makefiles pour diverses plates-formes et compilateurs comme - automake, CMake, Apache Ant pour en nommer quelques uns.
Ce n'est jamais une bonne idée d'essayer de savoir à l'avance si un morceau de code produira une erreur de compilation. À l'époque où j'enseignais le C++ pour une entreprise de formation commerciale, je voyais parfois un stagiaire regarder fixement le moniteur sans rien taper:
Moi: Quel est le problème? Lui: Oh, je vérifie juste le code avant de le compiler.
Moi: Gaah! (bien, je pensais que)
Ne sois pas comme lui.Exécutez le compilateur sur le code à chaque occasion possible que vous obtenez. Et nous vivons dans un monde où les compilateurs de haute qualité sont si facilement disponibles qu'il est ridicule de faire autre chose.
Sans utiliser de compilateur, les revues de code et de conception sont un bon début.
Il existe des outils tels que lint
, PCLint
qui analysent le code source à la recherche de menaces potentielles telles que les variables non initialisées et les fuites de mémoire. Une application extrême dans ce genre est Klocwork.
- 1. Erreurs de liaison/compilation de l'application iPhone
- 2. erreurs de compilation bizarres - vecteur et modèles
- 3. Compilation et liaison de liste chaînée ADT
- 4. C# débutant. Erreurs de compilation
- 5. Java 1.3.1, erreurs de compilation
- 6. Erreurs de compilation AVR_GCC delay.h
- 7. TextMate C++ erreurs de compilation
- 8. erreurs de compilation avec RapidXML
- 9. Tilera cross compilation - erreur de liaison
- 10. Erreur de compilation de liaison HierarchicalDataTemplate et TreeView
- 11. Wpf Liaison de données avec IMultiValueConverter et erreurs de moulage
- 12. des erreurs de compilation dans mshtml.h compilation avec VS2008
- 13. Erreurs de compilation pour une API
- 14. Erreurs de compilation possibles en C++
- 15. Visual Build erreurs de compilation professionnelle?
- 16. erreurs de compilation lors héritant PortableServer :: RefCountServantBase
- 17. py2app, pyObjc & macports erreurs de compilation
- 18. Comment générer des erreurs de compilation?
- 19. Erreurs inconnues lors de la compilation
- 20. Erreurs de liaison pour gcov dans Xcode
- 21. Erreurs de liaison dans les ListBoxItems DataTemplated
- 22. Comment rechercher les erreurs de liaison WPF?
- 23. Vous notifié des erreurs de liaison Silverlight?
- 24. erreurs de propriété Synthétiser lors de la compilation iPhone app
- 25. Comment implémenter des validations de temps de conception pour XAML, qui entraînent des erreurs de compilation?
- 26. VC++ des erreurs de compilation lors de l'inclusion gl.h
- 27. Erreurs de compilation pour le code de liste double lié
- 28. C# comment traiter les erreurs de Resharper comme des erreurs de compilation dans msvs 2010?
- 29. Étranges erreurs de compilation avec les codes :: blocks
- 30. Erreurs aléatoires de compilation avec Mono gmcs sur Snow Leopard
Un bon est de le compiler et de le lier. –
Je pense que compiler et essayer de le lier est un bon moyen de voir s'il y a des erreurs de compilation ou des erreurs de liaison. – Jack
Ceci est extrêmement général. Je ne suis pas sûr s'il y a une bonne réponse à part "écrire le code qui est syntaxiquement valide et non cassé". –