Was bedeutet GCC __attribute__((mode(XX)) eigentlich tun?

Entstand diese aus einer Frage, die bereits heute auf das Thema der bignum-Bibliotheken und gcc-spezifische hacks, um die C-Sprache. Speziell diese beiden Erklärungen wurden verwendet:

typedef unsigned int dword_t __attribute__((mode(DI)));

Auf 32-bit Systemen und

typedef unsigned int dword_t __attribute__((mode(TI)));

Auf 64-bit-Systeme.

Ich gehe davon aus gegebenen dies ist eine Erweiterung der Sprache C, es gibt keinen Weg, um zu erreichen was Sie erreicht in der aktuellen (C99) - standards.

Also meine Fragen sind einfach: ist diese Annahme korrekt? Und was haben diese Aussagen auf den zugrunde liegenden Speicher? Ich denke, das Ergebnis ist, ich habe 2*sizeof(uint32_t) für eine dword im 32-bit-Systeme und 2*sizeof(uint64_t) für 64-bit-Systeme, bin ich richtig?

InformationsquelleAutor | 2010-12-30
Schreibe einen Kommentar