Class members in CPU Registern
-
Hallo,
wie kann ich den gcc dazu bringen, Klassenvariablen in den CPU Registern zu halten?
Beispiel:
class iterator { int _a; unsigned _b; unsigned _c; iterator(a, b) { _a = a; _b = b; _c = 0; } inline void operator++ () { ++a; b += a; c = a + b; } inline unsinged operator* () { return c; } } int main() { volatile unsinged x; iterator iter = iterator(1,2); for (int i = 0; i < 10000; ++i, ++iter) { x = *iter; } return 0; }
Damit die Schleife schnell ist, sollten _a, _b und _c dabei in CPU Registern stehen.
Danke und Gruß,
Fred75
-
es gibt ein keyword 'register', aber dem kann man nicht trauen.
mach's mit inline assembler...