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++/CLI Discussion :

[C#, .net 2.0] Libération de mémoire non managée


Sujet :

C++/CLI

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    Par défaut [C#, .net 2.0] Libération de mémoire non managée
    Salut,

    Je développe une application en C# qui utilise une dll développée en C. La dll alloue de la mémoire, je n'y peux rien. Elle me retourne un pointeur de type void sur des données ainsi que la taille des données.

    C'est donc à moi de libérer la mémoire. J'ai cherché sur MSDN et j'ai trouvé quelque chose avec le Marshal mais avec du IntPtr : ici. Mais comment je dois faire avec mon pointeur de type void ? J'ai essayé de le caster en IntPtr mais ça me fait planter mon application

    Comment faire ?

    ++
    Le problème est souvent entre la chaise et le clavier

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    tu as essayé avec Marshal::FreeHGlobal ? en castant en intptr ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    Par défaut
    Oui j'ai essayé le cast en IntPtr mais ça ne fonctionne pas -->> plantage...

    J'ai trouvé une parade, j'utilise la méthode "free" de l'API Windows.

    Merci.

    ++
    Le problème est souvent entre la chaise et le clavier

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

Discussions similaires

  1. Mémoire managée VS mémoire non-managée
    Par Rataah dans le forum C#
    Réponses: 4
    Dernier message: 27/10/2011, 11h26
  2. Libération de ressources non managées
    Par Patrickfz dans le forum Framework .NET
    Réponses: 7
    Dernier message: 12/10/2011, 17h45
  3. Libération de mémoire non réservée (operator=)
    Par 84mickael dans le forum C++
    Réponses: 7
    Dernier message: 27/05/2006, 13h30
  4. [Debutant(e)]problème de libération de mémoire
    Par skywalker3 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/02/2005, 17h38
  5. Réponses: 25
    Dernier message: 16/07/2003, 20h41

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