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 :

Débutant sous C (problème compilation)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Par défaut Débutant sous C (problème compilation)
    Bonjour, voici mon code source:

    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
    32
    33
    #include <signal.h>
     
     
    int nbsec = 0;
     
    void seconde(int sig)
    {
        signal(SIGALRM, seconde);
        alarm(1);
        nbsec++;
    }
     
    void inter(int sig)
    {
        signal(SIGINT, inter);
        printf("temps intermédiaire : %d\n", nbsec);
    }
     
    void fin(int sig)
    {
        printf("temps final : %d\n", nbsec);
        exit(0);
    }
     
    main()
    {
        signal(SIGALRM, seconde);
        signal(SIGINT, inter);
        signal(SIGQUIT, fin);
        alarm(1);
        while(1)
            pause();
    }
    j'obtiens 'SIGALRM' undeclared, à la compilation

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Bizarre..
    Et en incluant unistd.h ?

  3. #3
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    j'obtiens 'SIGALRM' undeclared, à la compilation
    J'espère que ce n'est pas la seule erreur que tu as à la compilation, parce que sinon, il va falloir que tu changes ou que tu paramètres ton compilateur.

    Il manque les includes suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    Ensuite, ta fonction main n'est pas conforme.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Par défaut
    j'ai ajouté les include ça ne change rien

    sinon j'utilise dev-c++ (en ayant créé un projet c)

    non ce n'est pas la seule erreur, j'obtiens le même message avec SIQUIT

    et un [build error] [main.o] Error 1

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Normal, je pari qu'avec SIGINT tu n'obitens pas de message d'erreur ! hein ?

    En C standard, seul les constante ci-dessous existent:
    • SIG_DFL
    • SIG_IGN
    • SIG_ERR
    • SIGABRT
    • SIGFPE
    • SIGILL
    • SIGINT
    • SIGSEGV
    • SIGTERM


    Les autres appartiennent à POSIX.1 et POSIX.1b

    Sous Linux on peut avoir les autres constantes en definissant la constante en debut du fichier (si je me trompe pas):
    mais sous Windows je ne sais pas si ca marche ainsi
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Franck.H
    Sous Linux on peut avoir les autres constantes en definissant la constante en debut du fichier (si je me trompe pas):
    Généralement ce genre de constante est à déclarée par l'intermédiaire du compilateur.

    Citation Envoyé par DevloNewb'
    Exact je ne reçois aucun message d'erreur avec SIGINT, merci pour tes éclaircissements Franck.H.

    Bon, si quelqu'un connaît une solution pour faire reconnaîtres ces constantes sous Windows je suis prenneur.
    Normalement Windows est conforme POSIX.1 donc les réponses devraient fonctionner.
    Sinon pour être cohérent, tu utilise les spécificités de Linux, developpe sous Linux !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Par défaut
    Exact je ne reçois aucun message d'erreur avec SIGINT, merci pour tes éclaircissements Franck.H.

    Bon, si quelqu'un connaît une solution pour faire reconnaîtres ces constantes sous Windows je suis prenneur.

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/01/2009, 17h51
  2. Réponses: 2
    Dernier message: 29/01/2007, 15h13
  3. [Débutant] problème compilation
    Par Clark dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 19/05/2006, 09h14
  4. Problème compilation Version 8.0.1 sous Debian Sarge
    Par LIndien dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/02/2005, 21h38

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