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 :

unsafe, pointeurs et le GC


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Onlava
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 92
    Par défaut unsafe, pointeurs et le GC
    Bonjour, j'ai lu que l'utilisation de fixed() permet de s'assurer qu'un bloc de mémoire ne sera pas déplacé par le GC.

    Dans ce cas, est-ce le code unsafe suivant doit être considérè comme invalide? (Pas réussi à le faire bugger lors de tests)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    byte* mDataPtr;
    byte[] mData;
     
    fixed(byte* p = mData)
    {
        mDataPtr = p;
    }
     
    utilisation de mDataPtr ici
    Merci pour vos avis
    A+

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    Non, je ne pense pas que ce soit sur. Le pointeur est certes inamovible par le GC, mais les données elles, oui. Pour que ce pose un probleme, il faudrait que le GC tourne, recupere, et bouge pile pendant l'utilisation, ce qui serait un gros coup de (mal)chance.

    Tu peux aussi essayer de voir les l'attribut fixed (en tant que modifier de declarations) pour les tableaux fixes, ainsi que les stackalloc pour allouer des tableaux directement sur la pile, qui en contexte unsafe sont clairement plus sur.

  3. #3
    Membre éprouvé Avatar de Onlava
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 92
    Par défaut
    Merci pour ta réponse SirJulio, je vai aller voir du coté de stackalloc.

    a+

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/01/2012, 14h09
  2. Réponses: 8
    Dernier message: 21/09/2011, 10h05
  3. Réponses: 1
    Dernier message: 09/02/2006, 11h03
  4. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  5. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44

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