저는 암호화 방법을 위해 일종의 나노초 레벨 타이밍을 찾는 방법을 찾으려고합니다. stackoverflow에서이 코드를 발견하고 그것은 VS2010에서 컴파일하는 것처럼 보일 수는 없지만 그 이유를 알 수 없습니다. 오류는 'time = GetCpuClocks()'이며 "C3861 오류 : 'GetCpuClocks': 식별자를 찾을 수 없습니다. '라는 메시지가 표시됩니다. 이유는 무엇입니까? 구조체 선언에서 'int32'형식의 문제도 발생했습니다.C++에서이 코드에 문제가 있습니까?
(나는 '긴'로 '시간'을 선언 시작하더라도 확인입니까? 아니면 __int64 사전에?
감사 했어야
int _tmain(int argc, _TCHAR* argv[])
{
__int64 time;
time = GetCpuClocks();
}
inline __int64 GetCpuClocks() {
// Counter
struct { int32 low, high; } counter;
// Use RDTSC instruction to get clocks count
__asm push EAX
__asm push EDX
__asm __emit 0fh
__asm __emit 031h
// RDTSC
__asm mov counter.low, EAX
__asm mov counter.high, EDX
__asm pop EDX
__asm pop EAX
// Return result
return *(__int64 *)(&counter);
}
당신은 아마 * 후 * GetCpuClocks() ... – kem
좋아 사람을 _tmain 넣어해야 내가 내가 먼저 방법을 선언해야한다고 알았어! 내 유일한 qyestion 왜 int32 같은 큰 번호를 사용하고 있습니까? 내 가치 중 일부는 -xxxxxxxxx는 내가 64 비트 숫자를 통해 사용해야한다는 뜻입니까? – Jason
'나노초 레벨 타이밍 '당신은 그것을 발견하지 못할 것입니다. 너무 많은 변수가 있습니다. 이 함수는 시간이 정말 빨라지지만, 타이밍 것들을위한 것이 아닙니다. – Falmarri