Я видел это сообщение на SO, которое содержит C-код для получения последнего значения CPU Cycle:
Профилирование количества циклов процессора в C/С++ Linux x86_64
Есть ли способ использовать этот код в С++ (приветствуются решения для Windows и Linux)? Хотя написано в C (и C является подмножеством С++), я не слишком уверен, что этот код будет работать в проекте С++, а если нет, то как его перевести?
Я использую x86-64
EDIT2:
Нашел эту функцию, но не может получить VS2010 для распознавания ассемблера. Нужно ли включать что-нибудь? (Я считаю, что мне нужно поменять uint64_t
на long long
для окон....?)
static inline uint64_t get_cycles()
{
uint64_t t;
__asm volatile ("rdtsc" : "=A"(t));
return t;
}
EDIT3:
Из кода выше я получаю сообщение об ошибке:
"ошибка C2400: ошибка синтаксиса встроенного ассемблера в 'opcode'; найденные данные типа"
Может ли кто-нибудь помочь?