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 :

pile dans un code c


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Par défaut pile dans un code c
    bonjour,
    je veux intégrer de l'asm dans mon code c et pour cela j'ai créé un fichier asm dans lequel j'ai écrit mon code mais le probleme c'est que j'ai lu que pour utiliser les variables déclarées dans le code c il faut les prendre sur la pile dans l'ordre inverse.je n'ai pas vraiment compris cette phrase et la façon de procéder

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par marooh Voir le message
    bonjour,
    je veux intégrer de l'asm dans mon code c et pour cela j'ai créé un fichier asm dans lequel j'ai écrit mon code mais le probleme c'est que j'ai lu que pour utiliser les variables déclarées dans le code c il faut les prendre sur la pile dans l'ordre inverse.je n'ai pas vraiment compris cette phrase
    Salut
    La pile est une zone particulière de la mémoire de ton programme qui contient les variables locales et les paramètres des fonctions. Mais si tu définis int a, b, c; alors la pile contiendra c, b, a
    Citation Envoyé par marooh Voir le message
    et la façon de procéder
    Ah ça j'en sais rien. Mais tu devrais aller dans le forum assembleur pour ça...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Citation Envoyé par marooh Voir le message
    bonjour,
    je veux intégrer de l'asm dans mon code c et pour cela j'ai créé un fichier asm dans lequel j'ai écrit mon code mais le probleme c'est que j'ai lu que pour utiliser les variables déclarées dans le code c il faut les prendre sur la pile dans l'ordre inverse.je n'ai pas vraiment compris cette phrase et la façon de procéder
    Lors du passage des arguments (lors de l'appel d'une fonction) les données s'entassent sur la pile, mais certaines données peuvent aussi être écrites directement dans tel ou tel registre. Cela dépend de ce qu'on appelle la "convention d'appel" (calling convention). Sur Google, tu devrais trouver de plus amples informations. Déjà sur Wikipedia : http://en.wikipedia.org/wiki/X86_calling_conventions (mais pas seulement)
    De plus, la compréhension du fonctionnement de la pile est nécessaire si tu veux faire de l'assembleur. Ce qui est empilé doit être dépilé correctement. De même, il faut bien comprendre à quelle variable correspond tel emplacement dans la pile. Une erreur à ce niveau peut provoquer un bug ou un crash.
    Si tu as un bouquin d'assembleur, revois les chapitres correspondants.

Discussions similaires

  1. Debugger une pile dans code blocks
    Par TgRoX dans le forum C++
    Réponses: 2
    Dernier message: 06/06/2014, 14h54
  2. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35
  3. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09
  4. Modifier un événement dans le code
    Par HT dans le forum Langage
    Réponses: 6
    Dernier message: 20/06/2003, 09h46
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

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