Je suis curieux de savoir ce que l'équivalent (par exemple)assembleur en ligne équivalent de directive .data MASM
.data
x dword 42
.code
main proc
; Do stuff here.
ret
main endp
end
serait, si je en train d'écrire l'assemblage en ligne (en D). Je comprends que je pouvais faire quelque chose comme
int main()
{
int x = 42;
asm
{
// Do stuff here.
}
return 0;
}
, mais le but de l'exercice est de ne pas « tricher » en utilisant D lui-même.
En fait, dans le code que vous avez affiché au-dessus de celui que vous avez considéré comme triche, la mémoire de 'x' n'est pas allouée dans la section de données. Il est alloué sur la pile. – Aaron
Je doute que vous pouvez allouer de la mémoire dans la section de données en utilisant l'assemblage en ligne. Mais si vous deviez créer une variable globale, la mémoire de cette variable serait allouée dans la section de données. – Aaron
'const int x = 42;' ou 'static int x = 42;'? – BCS