__asm volatile ("rdtsc" : "=A" (blabla))
-
Der Compiler meldet mir immer eine Syntaxfehler im "Opcode" wenn ich das compiliere:
#include <stdio.h> #define rdtsc(x) __asm volatile("rdtsc" : "=A" (x)) void main (void) { long long start, ende; rdtsc(start); rdtsc(ende); printf("%Ld Zyklen seit Start", (ende - start)); }
Den asm Befehl gibts seit Pentium MMX, ich hab einen mobilen Athlon XP da sollte es glaub ich kein Problem geben und ich arbeite mit dem Visual C++ Compiler.
Könnt ihr mir sagen warum er den asm Befehl nicht kennt (was ich nicht glaub:) )oder ob ichs falsch geschreiben hab ?
-
Wir beschäftigen uns hier nicht mit Besonderheiten spezieller Compiler. Dafür haben wir extra Foren.
-
Komisch. Beim VC++ ist die asm-Syntax meines Wissens komplett anders, das sieht eher nach gcc aus.
-
beim vc++ geht es so
inline __int64 rdtsc() { __asm rdtsc }
-
Ich kenn mich nicht grad sehr gut mit asm Befehle aus wollt nur mal den Speed von meiner lib testen.
Sollte das ungefähr so aussehen?inline __int64 rdtsc(__int64 x) { __asm rdtsc() return x; }
-
habs schon funktioniert auch recht gut danke für eure Hilfe!
bitte vergest was ich da vorhin geschrieben hab ...
war schon etwas zu überdreht von dem ganzen coding