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 :

[compatibilité C/C++]


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut [compatibilité C/C++]
    Bonjour !

    Je sais que ce topic est à la mode, mais hélas c'est parfois de la magie pour moi...
    Je compile avec Code:Blocks (GCC), et je viens de récupérer un programme en C ainsi qu'une librairie (C je suppose) pour accéder à une base de données.
    La compilation et l'édition des liens fonctionne, aucuns retours de fonctions négatif (je pense au fameux -1), mais par contre tous les résultats que je récupère sont NULS ...
    La même chose avec VC6.0 (je sais c'est vieux) me lit parfaitement toutes mes données...
    Je retrousse mes manches, je me plonge dans le code (sous Code Blocks):
    *la fonction qui communique avec la BDD est déclaré extern dans le fichier .c (puisque présente dans la librairie je suppose). Le truc, c'est que, même en retirant le mot clef "extern", la compilation a toujours lieu...
    J'ai l'impression que l'édition des liens ne se fait pas?
    Est-ce le compilateur C++ qui ne fait pas son boulot sur du code C?
    Ou alors est-ce que je suis franchement mauvais??

    Je précise que je souhaite utiliser Code:Blocks parce que ce petit bout de code doit s'intégrer dans un plus gros programme à base de template (adieu VC6.0). Et je ne peux pas installer Express 2005 (du moins pas pour le moment, je n'aurai pas les droits administrateurs avant...) Et puis je souhaiterai continuer sur le même IDE...

    Merci à vous d'avance !

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Le débuggeur indique quoi comme différence d'exécution ?

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    A priori, il n'y a pas de différence d'execution. C'est à dire que les deux IDE semblent communiquer avec la base de données via TSRqParm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    extern  int TSRqParm ();
    // code omis
    cr = TSRqParm (nchoc, NmProd, NmObj, NmPar, LgPar, &Valeur, &NbVal , &format);
        if (cr != 0)
            {
            printf("Erreur lecture %s / %s\n",NmObj,NmPar);
            Str = "0";
            return(-1);
            }
    avec le débugger, aucun des deux IDE ne renvoi -1.

    Est-ce normal de compiler alors que j'ai supprimer le extern ?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Si, il y a une différence Essaie d'aller plus loin dans les comparaisons entre les 2 exécutions.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Si tu mets pas de extern "C" ça risque pas de marcher.

  6. #6
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Si tu mets pas de extern "C" ça risque pas de marcher.
    Oui, j'y avais pensé, mais dans ce projet, tous mes fichiers sources sont des .C
    Je n'ai donc normalement pas besoin de préciser!

    Si, il y a une différence
    tu as sans doute raison, je vais fouiller à fond!

    Merci...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compatibilité D5 / VNC
    Par gord's dans le forum Outils
    Réponses: 7
    Dernier message: 12/05/2004, 17h02
  2. help!! problème de compatibilité ascendante
    Par valfredr dans le forum XMLRAD
    Réponses: 5
    Dernier message: 16/06/2003, 16h15
  3. [7RC3] Compatibilité avec les anciennes versions ...
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 3
    Dernier message: 15/05/2003, 16h46
  4. Compatibilité Visibroker 4.5 C++ Builder
    Par manuel dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 21h57
  5. compatibilité des librairies directX8
    Par Freakazoid dans le forum DirectX
    Réponses: 3
    Dernier message: 23/05/2002, 21h33

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