IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

erreur dans l'execution


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 45
    Par défaut erreur dans l'execution
    j'ai un petit souci avec l'exécution d'un code C sous linux, j'utilise le compilateur Scite et le fichier contenant le code est lire.C , le voilà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #include "stdio.h"
    #include "stdlib.h"
     
     
     
    int main(void)
    {
     
    	FILE *stream;
     
    	stream = fopen("N33E0111_version.hgt", "r");
     
     
    	if(stream = NULL)
    	{
    	printf("Le fichier n'existe pas");
    	}
    	else
    	{
    	printf("Le fichier existe et est ouvert en lecture seule");
    	}
    	fclose(stream);
     
     
     
     
     
       return 0;
     
     
    }
    pour la compilation , ça marche et voici le message

    >gcc -pedantic -Os -c lire.c -o lire.o -std=c99
    >Exit code: 0


    pour l'exécution , il me sort ce message

    >./lire
    sh: ./lire: not found
    >Exit code: 127


    c quoi le problème ???

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 481
    Par défaut
    Oh le beau bug !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gcc -pedantic -Os -c lire.c -o lire.o -std=c99
    >./lire
    Ton exécutable de sortie s'appelle lire.o et pas lire, comme il le devrait.

    Bon courage.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 45
    Par défaut
    merci pour la réponse mais cependant ce n'est pas trop clair , ce que je veux dire c'est que le fichier lire.o est généré mais quand je clique dessus , il me sort un truc du genre il y a pas d'application pour ouvrir ce fichier. comment je peux voir le résultat de l'éxécution

    merci pour votre aide car je suis très débutant avec linux

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 122
    Billets dans le blog
    148
    Par défaut
    Si tu veux compiler ton code source pour avoir un executable il faut que tu fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gcc -pedentic -Wall -ansi -Os lire.c -o lire -std=c99
    Et après dans un terminal tu peux faire :
    ./lire

    Ou double cliquer sur l'icone dans ton navigateur de fenêtre , mais je ne pense pas que ce soit très pratique la deuxième option.

    De mémoire l'option -c ne fait pas d'executable ... juste un fichier objet à linker plus tard...

    Tu peux rajouter , comme dans mon exemple , les options -Wall et -ansi
    -Wall pour avoir tous les messages de Warning ( pas d'erreur , mais juste des messages , pour te dire , attention le code ici est peut être faux ) D'ailleurs , je crois qu'il aurait été capable de repéré l'erreur de la comparaison de stream à NULL sans le '==' . Que Obsidian a vue

    -ansi : juste pour avoir un code plus dans la norme ( peut être problématique , donc t'es pas obligé )

    -Os , tu n'est pas obligé non plus , c'est pour que le compilateur face des optimisations ... mais tu peux le garder ...


    Dernier conseil , lorsque tu post un message avec du code , n'oublie pas les balises [ code ] [ / code ] . Merci .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Compile avec :
    Pour commencer. Ici, la sortie (c'est-à-dire le programme exécutable ...) est lire. Exécute ensuite lire :
    lire.o, c'est un fichier "objet", l'équivalent machine du fichier lire.c (en d'autres termes, le résultat de la compilation de lire.c). Pendant l'édition des liens (effectué par ld qui est automatiquement appelé par gcc ...), lire.o sera lié avec d'autres fichiers objet (il faut le lier aux fichiers contenant fopen, printf, etc.) pour former l'exécutable (lire).

    Je t'invite également à jeter un petit coup d'oeil vers la FAQ pour connaître les bonnes options à utiliser avec gcc.

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Si tu veux compiler ton code source pour avoir un executable il faut que tu fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gcc -pedentic -Wall -ansi -Os lire.c -o lire -std=c99
    ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -Wall -pedantic -Wextra -std=c99 -O0 -ggdb3 -o lire lire.c

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 45
    Par défaut
    merci bcp pour vos réponses , maintenant je vois plus clair

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par shmeta Voir le message
    pour la compilation , ça marche et voici le message

    >gcc -pedantic -Os -c lire.c -o lire.o -std=c99
    >Exit code: 0


    pour l'exécution , il me sort ce message

    >./lire
    sh: ./lire: not found
    >Exit code: 127
    tu n'as pas produit 'lire'.

Discussions similaires

  1. [OCI] une erreur dans l'execution pour cette requete SQL
    Par Abdelkaoui dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 14/09/2007, 12h29
  2. erreur dans l'execution de procedure
    Par obydissonn dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/06/2007, 10h47
  3. erreur dans l'exécution de la requête
    Par robert_trudel dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/11/2006, 23h57
  4. erreur dans l'execution
    Par debutant-1 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 18/08/2006, 12h39
  5. erreur dans l'execution d'une requete
    Par marsupilami34 dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/09/2005, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo