#1 Le 13/01/2008, à 20:40
- SiscoL
IDE Anjuta : comment faire une compilation pour avoir un exécutable ?
Bonjour à tous,
Je suis un débutant complet et j'essaye d'apprendre le langage C. Quand j'utilise un éditeur de texte (gedit, celui d'ubuntu par défaut) et quand j'ai un source test.c, je tape :
gcc -o test.exe test.c
j'ai bien un exécutable test.exe. Pas de problème.
Mais pour être dans un environnement plus convivial, j'ai voulu utiliser un IDE. J'ai installé Anjuta. Quand je compile test.c avec l'IDE, j'obtiens un test.o que je n'arrive pas à exécuter ? Même en ligne de commande ?
1) J'en conclue que test.o n'est pas un exécutable ? Mais alors qu'est-ce que c'est ?
2) Comment faire pour qu'en un clic, l'IDE me donne un vrai exécutable après compilation ?
Merci d'avance.
François
François
Hors ligne
#2 Le 14/01/2008, à 10:42
- Aurel34
Re : IDE Anjuta : comment faire une compilation pour avoir un exécutable ?
1) test.o est un fichier "objet". le langage C permet la compilation séparée. Si par exemple tu as deux fichiers "toto.c" et "tata.c", le compilateur va générer deux fichiers .o.
Puis vient la phase d'édition des liens. à‡a revient en gros à mettre tous les bouts de code (les fichiers .o) bout à bout et à les relier entre eux. Si par exemple dans "toto.c" tu appelles une fonction implémentée dans "tata.c", il va falloir modifier le code d'origine (de "toto.o") pour lui indiquer o๠se trouve ladite fonction dans l'exécutable final. Pour cela, des symboles ont éré générés pendant la phase de compilation.
L'intérêt de cette approche, c'est que si tu ne modifies juste un fichier source .c, tu n'as plus qu'à recréer le .o correpondant par compilation, et refaire l'édition des liens. Tous les autres .o sont inchangés et la compilation devient très rapide (après la toute première compilation bien sûr).
L'outil make (les fameux Makefile) permet justement de ne recompiler à chaque fois que ce qui a été modifié. Pour cela il compare simplement les dates du .c et du .o (si le .c est plus récent il faut recompiler).
Si tu veux voir les différents symboles dans les exécutables, tu peux utiliser objdump (qui permet de faire BEAUCOUP de choses):
objdump -T monfichier
ça marche sur les .o comme sur les exécutables, sauf si ceux-ci ont été "strippés" avec
strip monfichier
2) normalement tu n'as qu'à faire build...
#3 Le 18/01/2008, à 05:32
- SiscoL
Re : IDE Anjuta : comment faire une compilation pour avoir un exécutable ?
Merci pour tes explications très claires sur les fichiers ".o" Aurel34.
En fait, mon problème a été résolu sur un autre forum. Voici le lien.
En fait, il s'avère qu'avec Anjuta pour faire son petit "Hello world", c'est toute une usine à gaz. A moins bien sûr que la solution trouvée soit maladroite.
Tout ça pour dire, qu'en tant que débutant total qui aimerais vraiment apprendre le langage C, en lisant tranquillement son petit livre sur le langage C (celui de Kernighan et Ritchie, il parait qu'on dit le "K&R" dans le milieu), j'aimerais trouver un IDE simpliste. Il semble que ce ne soit vraiment pas le cas de "anjuta". D'o๠ma question :
Connaissez vous un IDE pour faire du C (sous ubuntu) qui soit simple, basique, "user-frendly", gentil pour les débutants comme moi ? (notez bien les critères ;-) )
Merci d'avance.
François
François
Hors ligne
#4 Le 18/01/2008, à 07:47
- marc_qui
Re : IDE Anjuta : comment faire une compilation pour avoir un exécutable ?
salut,
tu as geany :) kate
Dernière modification par marc_qui (Le 18/01/2008, à 07:48)
Hors ligne
#5 Le 18/01/2008, à 11:28
- Aurel34
Re : IDE Anjuta : comment faire une compilation pour avoir un exécutable ?
télécharge Eclipse IDE for C/C++ Developers sur http://www.eclipse.org/downloads/
après tu décompresses, tu lances, et tu auras un ide "à la visual studio"
(avec apt-get install sun-java6-jre) parce que c'est en java.