2010-06-04 7 views
1

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

+21

Un bon est de le compiler et de le lier. –

+1

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

+2

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é". –

Répondre

5

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:

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 ...

+1

Oh mon dieu cette page est moche ... utilisez celle-ci à la place: http://codepad.org/ – mpen

+0

@Mark: Ce que Comeau manque dans la beauté du site Web, il compense avec awesomeness conformes aux normes. –

+1

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. –

3

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)

Vim

0

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.

0

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.

2

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.

0

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.

Questions connexes