Compilation avec gcc
Résolu
Nowhere Man
Messages postés
307
Date d'inscription
Statut
Membre
Dernière intervention
-
Nowhere Man Messages postés 307 Date d'inscription Statut Membre Dernière intervention -
Nowhere Man Messages postés 307 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai installé un système Linux (Mandriva) en machine virtuelle sous mon Windows Vista, j'ai mis en place ma base de données urpmi puis j'ai téléchargé l'éditeur joe ainsi que je compilateur gcc.
J'ai édité sous joe ce code :
C'était juste un programme tout bête pour tester le compilateur, je l'ai ensuite enregistré dans un fichier main.c et en console j'ai fait :
Et ici, j'obtiens une erreur :
Par contre je peux lancer l'exécutable sans aucun problème :
Je voudrais juste savoir à quoi correspond ce code d'erreur, et s'il y a quelque chose à faire... merci d'avance !
J'ai installé un système Linux (Mandriva) en machine virtuelle sous mon Windows Vista, j'ai mis en place ma base de données urpmi puis j'ai téléchargé l'éditeur joe ainsi que je compilateur gcc.
J'ai édité sous joe ce code :
#include <stdio.h> #include <stdlib.h> int main() { printf("Test"); getchar(); }
C'était juste un programme tout bête pour tester le compilateur, je l'ai ensuite enregistré dans un fichier main.c et en console j'ai fait :
cc main.c -o test.bin
Et ici, j'obtiens une erreur :
main.c:8:2: attention : pas de retour chariot à la fin du fichier
Par contre je peux lancer l'exécutable sans aucun problème :
./test.bin
Je voudrais juste savoir à quoi correspond ce code d'erreur, et s'il y a quelque chose à faire... merci d'avance !
A voir également:
- Compilation avec gcc
- Code blocks avec compilateur - Télécharger - Langages
- Breach compilation c'est quoi - Guide
- Comment faire une compilation de musique - Forum Audio
- Compilation gcc avec fonctions pow et sqrt ✓ - Forum Programmation
- Compiler un .bat avec gcc ✓ - Forum Autoit / batch
4 réponses
Salut,
Certains compilateurs veulent une ligne vide à la fin du programme. Essaie, et tu ne devrais plus avoir le message d'erreur.
Par contre n'oublie pas de mettre :
Cdlt
Certains compilateurs veulent une ligne vide à la fin du programme. Essaie, et tu ne devrais plus avoir le message d'erreur.
Par contre n'oublie pas de mettre :
return 0;avant l'accolade finale.
Cdlt
Et bien le compilateur est on ne peu plus explicite; il veut un retour chariot à la fin du fichier... c'est à dire une ligne blanche!
D'autre part, tu déclares: 'int main()' donc la fonction 'main' doit se terminer par un 'return int'.
D'autre part, tu déclares: 'int main()' donc la fonction 'main' doit se terminer par un 'return int'.
Oui merci beaucoup ça marche =)
J'ai mis le return 0; et j'ai sauté un ligne à la fin. Par contre je ne comprends pas pourquoi return int... je n'ai aucune erreur à la compilation et je ne l'ai jamais utilisé, à quoi sert-il ?
Merci encore
J'ai mis le return 0; et j'ai sauté un ligne à la fin. Par contre je ne comprends pas pourquoi return int... je n'ai aucune erreur à la compilation et je ne l'ai jamais utilisé, à quoi sert-il ?
Merci encore
Le return 0, sert à dire au programme appelant que tout s'est bien passé.
Ton compilateur ne te dit rien, car tu n'as pas dû compiler avec les options de warnings qui vont bien. Sinon il te l'aurait dit. De toute façon, à part pour les fonctions void, une fonction doit toujours retourner une valeur en concordance avec son prototype.
Ton compilateur ne te dit rien, car tu n'as pas dû compiler avec les options de warnings qui vont bien. Sinon il te l'aurait dit. De toute façon, à part pour les fonctions void, une fonction doit toujours retourner une valeur en concordance avec son prototype.