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 :

Création de DLL en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 3
    Par défaut Création de DLL en C
    Bonjour,

    Je veux vous demander de l'aide si c'est possible !
    En effet, j'essaie de créer une simple DLL en C qui me permettra de lire un fichier sur le disque, me retourner 1 si le fichier texte a bien été ouvert ou 0 dans le cas contraire. Voila ce que j'ai fait :

    Fichier .cpp qui contient la fonction :

    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
    #include "programme_dll.h" 
    #include <stdio.h> 
     
    int _stdcall lire_fichier(const char *path) { 
     
    FILE *fichier = NULL; 
     
    fichier = fopen (path,"r"); 
     
    if (fichier == NULL) 
    return 0; 
    else { 
    return 1; 
     
    } 
     
    fclose(fichier); 
     
    }
    Le fichier .h qui contient le prototype de la fonction a exporter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #define __declspec(dllexport) // définit la macro EXPORT 
    int __stdcall lire_fichier(const char *path); // spécifie que cette fonction est à exporter 
     
    le fichier .def lui specifie le nom de la fonction que j'utiliserai sous VB: 
     
    LIBRARY Programme_dll 
    EXPORTS 
    lire_fichier @1
    La DLL a été générée avec succès et j'arrive a l'utiliser sur VB mais elle me retourne toujours 0 car la fonction n'arrive pas à lire le fichier texte ! Je me doute dans la façon de déclarer le chemin du fichier !

    Quelqu'un peut-il m'aider SVP ?

    Merci !

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Bonjour,
    Déjà, ta fonction fait une belle fuite vu qu'elle retourne avant le fclose().

    Ensuite, ton problème est peut-être lié à la façon dont VB passe ses chaînes de caractères. As-tu pensé à mettre ByVal?

    PS: Ton #define m'a l'air foireux aussi, mais tu n'as pas besoin de dllexport de toute façon si tu utilises un fichier .def.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Création de DLL
    Par croc14 dans le forum MFC
    Réponses: 45
    Dernier message: 14/06/2006, 11h57
  2. Fichier XML -> Création de DLL
    Par Nounours666 dans le forum Langage
    Réponses: 11
    Dernier message: 19/11/2005, 18h36
  3. Problème création de DLL avec CString
    Par loupdeau dans le forum MFC
    Réponses: 3
    Dernier message: 21/07/2005, 20h55
  4. Création de DLL
    Par J. dans le forum Windows
    Réponses: 2
    Dernier message: 24/08/2004, 11h59
  5. Problème création de DLL
    Par monsieur.voie.lactee dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/08/2003, 16h56

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