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

Code::Blocks Discussion :

Compiler un programme en C


Sujet :

Code::Blocks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut Compiler un programme en C
    Bonjour à tous !

    J'utilise pour la 1ère fois Code Blocks, et quand je compile mon programme en C il me retourne des erreurs de C++... Comment faire pour que ce soit un compilateur de C qui soit utilisé ?

    Merci d'avance.

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    quelle version de code::blocks utilises-tu? Sur quel OS (je demande ça car les versions sont un peu différentes selon les OS)?
    Sur la dernière (8.02), tu peux choisir, lorsque de la création d'un nouveau projet tu peux choisir s'il s'agit d'un projet en C ou en C++.
    Mais sinon, si ce sont des .c (et non .cpp), ils seront automatiquement compilé en C.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    J'ai la dernière version de Code Blocks, sur Windows.
    Mon programme a bien l'extension .c ; quand je le compile, il me retourne une erreur de C++, par exemple pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int* p = malloc(sizeof(int) * 5);
    il y a l'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error: invalid conversion from `void*' to `int*'
    Je n'ai pas appris à mettre (int*) devant un malloc (plus généralement, le type du pointeur)... Alors, soit j'ai mal appris (bouh les profs) soit... c'est pas du C.. Soit... c'est du C mega strict.
    C'ets quoi la bonne réponse ?

  4. #4
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Ca fait bien bien longtemps que je n'ai pas programmé en C, mais d'après ce que je viens de lire sur le malloc, cette fonction renvoie bien un void*.
    Et d'après ce que j'ai lu, il faut faire un cast pour ce que tu veux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int* p = (int*) malloc(sizeof(int) * 5);
    J'aurais donc tendance à dire que c'est gcc qui est très exigeant, mais peut-être que je me trompe.

    Quoi qu'il en soit, tu auras de meilleurs réponses sur le sujet du malloc sur le forum C.

    En fait, qu'est-ce que qui te fais dire que ce sont des erreurs c++ que tu obtiens?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    Merci beaucoup pour ta réponse.

    En tout cas, bizarre que ça ne me mette pas l'erreur sur les pc de ma fac (FreeBSD, avec GCC comme compilateur...), p'tet que c'est pas la même version que j'ai chez moi.

    Pourquoi je pensais que c'était compilé comme du C++ : quand j'ai demandé à afficher tous les warnings et erreurs possibles, ça m'a affiché des erreurs mentionnant le C++... Donc, ça m'a trifouillé les neurones. ^_^

    Mystère et boule de gomme.

    Ta réponse doit être la bonne (y'a juste une alien dans ma machine, c'est sûr :p). J'vais donc faire plus attention à écrire correctement mon code.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 217
    Par défaut
    Peut-être que tu avais des commentaires multi-lignes du style /* */ qui ne sont pas standards en C mais seulement en C++ et gcc te l'as indiqué (je crois que ça vient avec l'option -pedantic).

Discussions similaires

  1. [Outils][C#] Comment compiler un programme ?
    Par H-bil dans le forum EDI/Outils
    Réponses: 4
    Dernier message: 06/04/2007, 12h18
  2. Compiler un programme avec winapi.h
    Par mannostab dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2006, 22h06
  3. Compiler un programme perl pour palteforme Win32
    Par LE NEINDRE dans le forum Modules
    Réponses: 1
    Dernier message: 11/01/2006, 14h27
  4. [Compilation] Dev ne peut pas compiler mon programme
    Par Rémaill dans le forum Dev-C++
    Réponses: 9
    Dernier message: 01/11/2005, 00h41
  5. Delphi 2005 : Erreur de compilation du programme
    Par bigbestboy dans le forum Langage
    Réponses: 6
    Dernier message: 03/08/2005, 18h14

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