RDTSC on VisualStudio 2010 Express - C++ does not support default-int

后端 未结 3 818
不知归路
不知归路 2020-12-21 15:37

I tried to test rdtsc on VisualStudio 2010. Heres my code:

#include 
#include 
#include 
using          


        
相关标签:
3条回答
  • 2020-12-21 16:07

    To have this working you have to include cstdint :

    #include <cstdint> // Or <stdint.h>
    

    cstdint is the C++-style version of the C-style header stdint.h. Then it is better in your case to use the first one even if both are working in C++.

    It is said here that those headers are shipped with visual studio since the 2010 version.

    0 讨论(0)
  • 2020-12-21 16:10

    You have to #include <stdint.h>. Or (better) #include <cstdint>.

    Visual Studio started shipping those headers with the 2010 version.

    0 讨论(0)
  • 2020-12-21 16:11

    You have not included stdint.h/cstdint at the top apparently. This will work:

    #include <iostream>
    #include <windows.h>
    #include <intrin.h>
    #include <stdint.h>
    using namespace std;
    
    uint64_t rdtsc()
    {
        return __rdtsc();
    }
    
    int main()
    {
        cout << rdtsc() << "\n";
        cin.get();
        return 0;
    }
    
    0 讨论(0)
提交回复
热议问题