bonjour j'ai un problème sur RDTSC
je prend n'importe quel code sur le net mais aucun ne marche
je sais que je travaille en intel et je veux que mon application marche sur n'importe quel intel.
Je suis sur un 32 bits mais je veux aussi travaillé en 64 bits
voici le code que j'ai trouvé
le compilateur me répond `b' undeclared here (not in a function)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 double RDTSC(void) { #ifdef linux unsigned long long x; __asm__ volatile (".byte 0x0f, 0x31" : "=A"(x)); return (double)x; #else unsigned long a, b; double x; #ifdef _MSC_VER // Code pour Visual C++ __asm { RDTSC #else // Code pour Borland et autres asm { db 0x0F,0x31 // instruction RDTSC #endif mov [a],eax mov [b],edx } x = b; //le problème x *= 4294967296; x += a; return x; #endif }
et integer constant is too large for "long" type
Partager