Quel processeur ? Quel environnement ? Quelle convention d'appel pour les
fonctions ? Où est la question sur le C++ ?
Voir sur un newsgroup plus approprié (vraisemblablement un newsgroup
traitant du langage assembleur du processeur sur lequel vous travaillez).
Bon courage.
Quel processeur ? Quel environnement ? Quelle convention d'appel pour les
fonctions ? Où est la question sur le C++ ?
Voir sur un newsgroup plus approprié (vraisemblablement un newsgroup
traitant du langage assembleur du processeur sur lequel vous travaillez).
Bon courage.
Quel processeur ? Quel environnement ? Quelle convention d'appel pour les
fonctions ? Où est la question sur le C++ ?
Voir sur un newsgroup plus approprié (vraisemblablement un newsgroup
traitant du langage assembleur du processeur sur lequel vous travaillez).
Bon courage.
Bonjour,
[...]
restore ! ramène l'environnement
Bonjour,
[...]
restore ! ramène l'environnement
Bonjour,
[...]
restore ! ramène l'environnement
"Florent 'flure' C." a écrit dans le
message de news:
Quel processeur ? Quel environnement ? Quelle convention d'appel pour les
fonctions ? Où est la question sur le C++ ?
Voir sur un newsgroup plus approprié (vraisemblablement un newsgroup
traitant du langage assembleur du processeur sur lequel vous travaillez).
Bon courage.
ca manque d'info en effet.
cela dit il vient de soulever une question théorique sur la call frame et
la stack frame. Comment sont organisé le passage des paramètres de fonction
.
"Florent 'flure' C." <flurePASDESPAM@freePASDESPAM.fr> a écrit dans le
message de news:pan.2004.08.02.21.09.23.205744@freePASDESPAM.fr...
Quel processeur ? Quel environnement ? Quelle convention d'appel pour les
fonctions ? Où est la question sur le C++ ?
Voir sur un newsgroup plus approprié (vraisemblablement un newsgroup
traitant du langage assembleur du processeur sur lequel vous travaillez).
Bon courage.
ca manque d'info en effet.
cela dit il vient de soulever une question théorique sur la call frame et
la stack frame. Comment sont organisé le passage des paramètres de fonction
.
"Florent 'flure' C." a écrit dans le
message de news:
Quel processeur ? Quel environnement ? Quelle convention d'appel pour les
fonctions ? Où est la question sur le C++ ?
Voir sur un newsgroup plus approprié (vraisemblablement un newsgroup
traitant du langage assembleur du processeur sur lequel vous travaillez).
Bon courage.
ca manque d'info en effet.
cela dit il vient de soulever une question théorique sur la call frame et
la stack frame. Comment sont organisé le passage des paramètres de fonction
.
cela dit il vient de soulever une question théorique sur la call
frame et la stack frame. Comment sont organisé le passage des
paramètres de fonction . dite moi si je me troupe, pour windows
avec les compilo microsoft ou borland c'est : sont mis ds la pile en
premier l'adresse de retour de l'appel le dernier argument d'appel
... le 1er argument puis il initialise le 'pointeur de base' (
registre BP) sur le début de la structure d'appel ( notre call
frame)
1er question ( con ) le début c'est l'adresse la + basse ou la plus
haute ? pointe sur retour ou sur arg 1 ?
2eme question est ce que c'est pareil pour tout les compilos c++ ( gcc, ...)
sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas trouvé
dedans)
3eme question est ce que le mot clef extern ou extern "C" modifie
cela ( l'ordre des paramètres je crois)
4eme question n'y a t il pas d'autre modificateur de l'organisation du
passage des paramètres ( ex: extern "FORTRAN" , extern "C++" <= celui la
existe pour microsoft, ...)
5eme question lors d'un linkage mixing C++ et autre langage, les données
globales sont elles accesibles ( avec un soulignement devant )
6 on suppose que pour le retour c'est la même structure de call frame. A t
on tord de la supposer ? Est ce que ce serait pas plutôt un pointeur dans
eax sur la valeur de retour ?
7 qui fait le menage dans les registres a la fin de l'appelé: l'appelant ou
l'appelé ?
8 dans la pile lors de l'appel de la fonction mettons directement les
données ou des pointeurs ?
cela dit il vient de soulever une question théorique sur la call
frame et la stack frame. Comment sont organisé le passage des
paramètres de fonction . dite moi si je me troupe, pour windows
avec les compilo microsoft ou borland c'est : sont mis ds la pile en
premier l'adresse de retour de l'appel le dernier argument d'appel
... le 1er argument puis il initialise le 'pointeur de base' (
registre BP) sur le début de la structure d'appel ( notre call
frame)
1er question ( con ) le début c'est l'adresse la + basse ou la plus
haute ? pointe sur retour ou sur arg 1 ?
2eme question est ce que c'est pareil pour tout les compilos c++ ( gcc, ...)
sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas trouvé
dedans)
3eme question est ce que le mot clef extern ou extern "C" modifie
cela ( l'ordre des paramètres je crois)
4eme question n'y a t il pas d'autre modificateur de l'organisation du
passage des paramètres ( ex: extern "FORTRAN" , extern "C++" <= celui la
existe pour microsoft, ...)
5eme question lors d'un linkage mixing C++ et autre langage, les données
globales sont elles accesibles ( avec un soulignement devant )
6 on suppose que pour le retour c'est la même structure de call frame. A t
on tord de la supposer ? Est ce que ce serait pas plutôt un pointeur dans
eax sur la valeur de retour ?
7 qui fait le menage dans les registres a la fin de l'appelé: l'appelant ou
l'appelé ?
8 dans la pile lors de l'appel de la fonction mettons directement les
données ou des pointeurs ?
cela dit il vient de soulever une question théorique sur la call
frame et la stack frame. Comment sont organisé le passage des
paramètres de fonction . dite moi si je me troupe, pour windows
avec les compilo microsoft ou borland c'est : sont mis ds la pile en
premier l'adresse de retour de l'appel le dernier argument d'appel
... le 1er argument puis il initialise le 'pointeur de base' (
registre BP) sur le début de la structure d'appel ( notre call
frame)
1er question ( con ) le début c'est l'adresse la + basse ou la plus
haute ? pointe sur retour ou sur arg 1 ?
2eme question est ce que c'est pareil pour tout les compilos c++ ( gcc, ...)
sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas trouvé
dedans)
3eme question est ce que le mot clef extern ou extern "C" modifie
cela ( l'ordre des paramètres je crois)
4eme question n'y a t il pas d'autre modificateur de l'organisation du
passage des paramètres ( ex: extern "FORTRAN" , extern "C++" <= celui la
existe pour microsoft, ...)
5eme question lors d'un linkage mixing C++ et autre langage, les données
globales sont elles accesibles ( avec un soulignement devant )
6 on suppose que pour le retour c'est la même structure de call frame. A t
on tord de la supposer ? Est ce que ce serait pas plutôt un pointeur dans
eax sur la valeur de retour ?
7 qui fait le menage dans les registres a la fin de l'appelé: l'appelant ou
l'appelé ?
8 dans la pile lors de l'appel de la fonction mettons directement les
données ou des pointeurs ?
2eme question est ce que c'est pareil pour tout les compilos c++ ( gcc, ...)
sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas trouvé
dedans)
2eme question est ce que c'est pareil pour tout les compilos c++ ( gcc, ...)
sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas trouvé
dedans)
2eme question est ce que c'est pareil pour tout les compilos c++ ( gcc, ...)
sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas trouvé
dedans)
Ils ne font toujours pas du passage par registre? La derniere fois
que j'ai regarde un compilo de Borland de pres (oh, c'est loin) il y
avait deja l'option pour.
3eme question est ce que le mot clef extern ou extern "C" modifie
cela ( l'ordre des paramètres je crois)
Possiblement. On peut vouloir utiliser des conventions differentes
pour C et C++ pour un tas de raisons (les conventions C sont
historiques et on a pu vouloir corriger des erreurs et mieux profiter
du processeurs et des contraintes inexistantes en C K&R, les
exceptions et ce que ca impose, ...).
6 on suppose que pour le retour c'est la même structure de call frame. A t
on tord de la supposer ? Est ce que ce serait pas plutôt un pointeur dans
eax sur la valeur de retour ?
Pas compris.
7 qui fait le menage dans les registres a la fin de l'appelé: l'appelant ou
l'appelé ?
Depend du processeur (voir sparc), de l'OS, du langage du compilateur
et de ses options. Souvent on divise les registres et certains sont a
charge de l'appelant, d'autre de l'appele.
Ils ne font toujours pas du passage par registre? La derniere fois
que j'ai regarde un compilo de Borland de pres (oh, c'est loin) il y
avait deja l'option pour.
3eme question est ce que le mot clef extern ou extern "C" modifie
cela ( l'ordre des paramètres je crois)
Possiblement. On peut vouloir utiliser des conventions differentes
pour C et C++ pour un tas de raisons (les conventions C sont
historiques et on a pu vouloir corriger des erreurs et mieux profiter
du processeurs et des contraintes inexistantes en C K&R, les
exceptions et ce que ca impose, ...).
6 on suppose que pour le retour c'est la même structure de call frame. A t
on tord de la supposer ? Est ce que ce serait pas plutôt un pointeur dans
eax sur la valeur de retour ?
Pas compris.
7 qui fait le menage dans les registres a la fin de l'appelé: l'appelant ou
l'appelé ?
Depend du processeur (voir sparc), de l'OS, du langage du compilateur
et de ses options. Souvent on divise les registres et certains sont a
charge de l'appelant, d'autre de l'appele.
Ils ne font toujours pas du passage par registre? La derniere fois
que j'ai regarde un compilo de Borland de pres (oh, c'est loin) il y
avait deja l'option pour.
3eme question est ce que le mot clef extern ou extern "C" modifie
cela ( l'ordre des paramètres je crois)
Possiblement. On peut vouloir utiliser des conventions differentes
pour C et C++ pour un tas de raisons (les conventions C sont
historiques et on a pu vouloir corriger des erreurs et mieux profiter
du processeurs et des contraintes inexistantes en C K&R, les
exceptions et ce que ca impose, ...).
6 on suppose que pour le retour c'est la même structure de call frame. A t
on tord de la supposer ? Est ce que ce serait pas plutôt un pointeur dans
eax sur la valeur de retour ?
Pas compris.
7 qui fait le menage dans les registres a la fin de l'appelé: l'appelant ou
l'appelé ?
Depend du processeur (voir sparc), de l'OS, du langage du compilateur
et de ses options. Souvent on divise les registres et certains sont a
charge de l'appelant, d'autre de l'appele.
Le Tue, 03 Aug 2004 09:52:12 +0200, Jean-Marc Bourguet a écrit :
Je crois que extern "C" ne fait que dire au compilateur d'adapter la
décoration des noms des fonctions, pour qu'elle corresponde à celle
du C++, non ?
6 on suppose que pour le retour c'est la même structure de call
frame. A t on tord de la supposer ? Est ce que ce serait pas
plutôt un pointeur dans eax sur la valeur de retour ?
Pas compris.
Sur Intel, on met tout ce qui est de type entier dans le registre
EAX pour le retour, ou un pointeur ... Pour les flottants et les
structures, je ne sais pas.
Le Tue, 03 Aug 2004 09:52:12 +0200, Jean-Marc Bourguet a écrit :
Je crois que extern "C" ne fait que dire au compilateur d'adapter la
décoration des noms des fonctions, pour qu'elle corresponde à celle
du C++, non ?
6 on suppose que pour le retour c'est la même structure de call
frame. A t on tord de la supposer ? Est ce que ce serait pas
plutôt un pointeur dans eax sur la valeur de retour ?
Pas compris.
Sur Intel, on met tout ce qui est de type entier dans le registre
EAX pour le retour, ou un pointeur ... Pour les flottants et les
structures, je ne sais pas.
Le Tue, 03 Aug 2004 09:52:12 +0200, Jean-Marc Bourguet a écrit :
Je crois que extern "C" ne fait que dire au compilateur d'adapter la
décoration des noms des fonctions, pour qu'elle corresponde à celle
du C++, non ?
6 on suppose que pour le retour c'est la même structure de call
frame. A t on tord de la supposer ? Est ce que ce serait pas
plutôt un pointeur dans eax sur la valeur de retour ?
Pas compris.
Sur Intel, on met tout ce qui est de type entier dans le registre
EAX pour le retour, ou un pointeur ... Pour les flottants et les
structures, je ne sais pas.
cela dit il vient de soulever une question théorique sur la call frame
et la stack frame. Comment sont organisé le passage des paramètres de
fonction.
dite moi si je me troupe, pour windows avec les compilo
microsoft ou borland c'est :
sont mis ds la pile en premier l'adresse de retour de l'appel
le dernier argument d'appel
...
le 1er argument
puis il initialise le 'pointeur de base' ( registre BP) sur le début
de la structure d'appel ( notre call frame)
1er question ( con ) le début c'est l'adresse la + basse ou la plus
haute ? pointe sur retour ou sur arg 1 ?
2eme question est ce que c'est pareil pour tout les compilos c++ (
gcc, ...) sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas
trouvé dedans)
3eme question est ce que le mot clef extern ou extern "C" modifie cela
( l'ordre des paramètres je crois)
4eme question n'y a t il pas d'autre modificateur de l'organisation du
passage des paramètres ( ex: extern "FORTRAN" , extern "C++" <= celui
la existe pour microsoft, ...)
5eme question lors d'un linkage mixing C++ et autre langage, les
données globales sont elles accesibles ( avec un soulignement devant )
6 on suppose que pour le retour c'est la même structure de call frame.
A t on tord de la supposer ?
Est ce que ce serait pas plutôt un
pointeur dans eax sur la valeur de retour ?
7 qui fait le menage dans les registres a la fin de l'appelé:
l'appelant ou l'appelé ?
8 dans la pile lors de l'appel de la fonction mettons directement les
données ou des pointeurs ?
cela dit il vient de soulever une question théorique sur la call frame
et la stack frame. Comment sont organisé le passage des paramètres de
fonction.
dite moi si je me troupe, pour windows avec les compilo
microsoft ou borland c'est :
sont mis ds la pile en premier l'adresse de retour de l'appel
le dernier argument d'appel
...
le 1er argument
puis il initialise le 'pointeur de base' ( registre BP) sur le début
de la structure d'appel ( notre call frame)
1er question ( con ) le début c'est l'adresse la + basse ou la plus
haute ? pointe sur retour ou sur arg 1 ?
2eme question est ce que c'est pareil pour tout les compilos c++ (
gcc, ...) sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas
trouvé dedans)
3eme question est ce que le mot clef extern ou extern "C" modifie cela
( l'ordre des paramètres je crois)
4eme question n'y a t il pas d'autre modificateur de l'organisation du
passage des paramètres ( ex: extern "FORTRAN" , extern "C++" <= celui
la existe pour microsoft, ...)
5eme question lors d'un linkage mixing C++ et autre langage, les
données globales sont elles accesibles ( avec un soulignement devant )
6 on suppose que pour le retour c'est la même structure de call frame.
A t on tord de la supposer ?
Est ce que ce serait pas plutôt un
pointeur dans eax sur la valeur de retour ?
7 qui fait le menage dans les registres a la fin de l'appelé:
l'appelant ou l'appelé ?
8 dans la pile lors de l'appel de la fonction mettons directement les
données ou des pointeurs ?
cela dit il vient de soulever une question théorique sur la call frame
et la stack frame. Comment sont organisé le passage des paramètres de
fonction.
dite moi si je me troupe, pour windows avec les compilo
microsoft ou borland c'est :
sont mis ds la pile en premier l'adresse de retour de l'appel
le dernier argument d'appel
...
le 1er argument
puis il initialise le 'pointeur de base' ( registre BP) sur le début
de la structure d'appel ( notre call frame)
1er question ( con ) le début c'est l'adresse la + basse ou la plus
haute ? pointe sur retour ou sur arg 1 ?
2eme question est ce que c'est pareil pour tout les compilos c++ (
gcc, ...) sur tout les os (sun,...)
en gros est ce que c'est normé ? ( j'ai la iso14882 mais j'ai pas
trouvé dedans)
3eme question est ce que le mot clef extern ou extern "C" modifie cela
( l'ordre des paramètres je crois)
4eme question n'y a t il pas d'autre modificateur de l'organisation du
passage des paramètres ( ex: extern "FORTRAN" , extern "C++" <= celui
la existe pour microsoft, ...)
5eme question lors d'un linkage mixing C++ et autre langage, les
données globales sont elles accesibles ( avec un soulignement devant )
6 on suppose que pour le retour c'est la même structure de call frame.
A t on tord de la supposer ?
Est ce que ce serait pas plutôt un
pointeur dans eax sur la valeur de retour ?
7 qui fait le menage dans les registres a la fin de l'appelé:
l'appelant ou l'appelé ?
8 dans la pile lors de l'appel de la fonction mettons directement les
données ou des pointeurs ?