J'ai rencontré un problème lors de la compilation d'un paquet autour, je ne suis pas vraiment un bon codeur, mais j'ai essayé de le réparer pour moi-même, et il ne compilera toujours pas . Ceci est le bit de code d'origine .:erreur: contrainte de registre impossible dans 'asm'
#ifdef __GNUC__
asm("and $3, %%ecx;"
"shl $3 ,%%ecx;"
"ror %%cl, %0"
: "=r" (value)
: "r" (value), "c" (address));
#else
L'erreur est:.
GBAinline.h: 139: Erreur: contrainte de registre impossible dans 'asm' (ligne ifdef est 138)
Et voilà comment j'ai essayé de le faire paraître .:
#ifdef __GNUC__
asm ("and $3 %%ecx,shl $3 %%ecx,ror %%cl, %0" : "=r" (value): "r" (value), "c" (address));
#else
Pourtant, cela ne fonctionnerait pas. C'est un émulateur gba avant tout le monde, VBA, et c'est partie de GBAinline.h. Cet assembleur me rend déjà fou.
Edit .: Le problème ci-dessus a été géré très bien, je ne faisais pas attention à quel compilateur j'utilisais. Mais maintenant j'obtiens cette erreur sur ce morceau de code d'un fichier d'en-tête, je l'ai mis sur pastebin, pour garder les choses ici un peu plus ordonnées ... (Désolé si c'est faux, je peux le changer plus tard)
C'est l'en-tête qui a les lignes qui se traduit par des erreurs .: http://pastebin.com/k3D4cg0d
Et ceci est le fichier C .: il se réfère à http://pastebin.com/Ymg1X5dg
cela donne une erreur comme celui-ci .:
/var/tmp/cc3zA0lH.s: Assembler messages: /var/tmp/cc3zA0lH.s:69: Error: bad instruction `sw $3,0(r3)',
Et ainsi de suite pour le reste de ces lignes.
Le code d'origine semble correct pour moi. Quel copilote et quelle plate-forme êtes-vous, par ex. Que fait la sortie 'gcc -v'? Vous devez gérer l'assemblage x86 et les contraintes [gcc inline assembly] (http://gcc.gnu.org/onlinedocs/gcc/Constraints.html) pour bien comprendre ce code. –
Merci pour la réponse Mackie, mon gcc est arm-linux, c'est peut-être le problème, ce code est conçu pour x86, et je ne l'ai pas remarqué. Aussi, merci pour le lien, je vais le regarder. – Luis
Donc, j'ai utilisé un compilateur x86, et cela a fonctionné comme un charme! Merci Mackie, je n'avais pas fait attention à ça. – Luis