Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec la compilation x64

    8 avril 2022 à 18:30:38

    Bonjour,

    J'aimerais comprendre ce qui ne va pas dans ce code lorsque je le compile sur Visual Studio en x64.

    #include <stdio.h>
    
    int main()
    {
        int* M = malloc(16 * sizeof(int));
        M[0] = 0;
    }

    J'obtiens une erreur quand il cherche à écrire dans M en 0.

    "Exception levée : violation d'accès en écriture. M a été 0xFFFFFFFFC7574CF0."

    J'aimerais comprendre comment résoudre ce problème.

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      8 avril 2022 à 18:45:16

      malloc --> #include <stdlib.h>
      • Partager sur Facebook
      • Partager sur Twitter
        8 avril 2022 à 19:31:39

        C'est normal, tu as écrit m en majuscule !

        Non, je déconne, @rouloude t'a donné la solution.

        En général (mais c'est une convention tacite) on réserve les majuscules pour les #quelque chose.

        Edit: orthographe

        -
        Edité par edgarjacobs 8 avril 2022 à 20:18:16

        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2022 à 13:09:11

          Pense aussi à activer les warnings et les lire.

          En ayant pas la déclaration de malloc (via stdlib.h), le compilateur présume que la fonction renvoie un int par défaut (et non un void *) ce qui pose forcément problème.

          • Partager sur Facebook
          • Partager sur Twitter

          l'azerty est aux dispositions ce que subversion est aux SCM

          Problème avec la compilation x64

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown