Certains compilateurs ont des moyens (attributs, pragma, ...) pour indiquer qu'il ne faut pas respecter les contraintes d'alignment, quite a payer le cout en performance.
Hum Ok. En fait, mon problème ne permet pas la modification de la structure.
C'est généralement le cas lorsqu'on interface avec du matériel...
En gros j'ai une fonction assembleur qui me retourne une liste chainée.
... mais pas lorsqu'on interface avec une fonction en assembleur ! A priori si on se donne la peine d'utiliser le langage d'assemblage en 2012 (surtout en «linux 64 bits»), c'est parce qu'il y a des raisons de performances qui le justifie; or si la dite fonction retourne une structure qui ne correspond pas à l'architecture, je crois que tu vas devoir regarder de plus près le fameux code assembleur... (et la structure fera 24 octets en 64 bits, et tout le monde sera content).
Antoine
Etienne écrivit :
Le 25/06/2012 17:45, Jean-Marc Bourguet a écrit :
Certains compilateurs ont des moyens (attributs, pragma, ...) pour
indiquer qu'il ne faut pas respecter les contraintes d'alignment, quite
a payer le cout en performance.
Hum Ok.
En fait, mon problème ne permet pas la modification de la structure.
C'est généralement le cas lorsqu'on interface avec du matériel...
En gros j'ai une fonction assembleur qui me retourne une liste chainée.
... mais pas lorsqu'on interface avec une fonction en assembleur !
A priori si on se donne la peine d'utiliser le langage d'assemblage en
2012 (surtout en «linux 64 bits»), c'est parce qu'il y a des raisons de
performances qui le justifie; or si la dite fonction retourne une
structure qui ne correspond pas à l'architecture, je crois que tu vas
devoir regarder de plus près le fameux code assembleur... (et la
structure fera 24 octets en 64 bits, et tout le monde sera content).
Certains compilateurs ont des moyens (attributs, pragma, ...) pour indiquer qu'il ne faut pas respecter les contraintes d'alignment, quite a payer le cout en performance.
Hum Ok. En fait, mon problème ne permet pas la modification de la structure.
C'est généralement le cas lorsqu'on interface avec du matériel...
En gros j'ai une fonction assembleur qui me retourne une liste chainée.
... mais pas lorsqu'on interface avec une fonction en assembleur ! A priori si on se donne la peine d'utiliser le langage d'assemblage en 2012 (surtout en «linux 64 bits»), c'est parce qu'il y a des raisons de performances qui le justifie; or si la dite fonction retourne une structure qui ne correspond pas à l'architecture, je crois que tu vas devoir regarder de plus près le fameux code assembleur... (et la structure fera 24 octets en 64 bits, et tout le monde sera content).
Antoine
Etienne
Le 26/06/2012 11:17, Antoine Leca a écrit :
je crois que tu vas devoir regarder de plus près le fameux code assembleur... (et la structure fera 24 octets en 64 bits, et tout le monde sera content).
Enfin un truc dans le genre !!! C'est moins sympa mais bon c'est pas grave !!!
Etienne
Le 26/06/2012 11:17, Antoine Leca a écrit :
je crois que tu vas
devoir regarder de plus près le fameux code assembleur... (et la
structure fera 24 octets en 64 bits, et tout le monde sera content).
je crois que tu vas devoir regarder de plus près le fameux code assembleur... (et la structure fera 24 octets en 64 bits, et tout le monde sera content).