VisualStudio 2010 Express-C++上的RDTSC不支持default-int
RDTSC on VisualStudio 2010 Express - C++ does not support default-int
我尝试在VisualStudio 2010上测试rdtsc
。这是我的代码:
#include <iostream>
#include <windows.h>
#include <intrin.h>
using namespace std;
uint64_t rdtsc()
{
return __rdtsc();
}
int main()
{
cout << rdtsc() << "n";
cin.get();
return 0;
}
但我有错误:
------ Build started: Project: test_rdtsc, Configuration: Debug Win32 ------
main.cpp
c:documents and settingsstudentdesktoptest_rdtsctest_rdtscmain.cpp(12): error C2146: syntax error : missing ';' before identifier 'rdtsc'
c:documents and settingsstudentdesktoptest_rdtsctest_rdtscmain.cpp(12): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:documents and settingsstudentdesktoptest_rdtsctest_rdtscmain.cpp(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:documents and settingsstudentdesktoptest_rdtsctest_rdtscmain.cpp(14): warning C4244: 'return' : conversion from 'DWORD64' to 'int', possible loss of data
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我该怎么办?我不想把uint64_t
改成DWORD64
。为什么VisualStudio不理解uint64_t
?
您必须使用#include <stdint.h>
。或者(更好)#include <cstdint>
。
Visual Studio从2010版本开始提供这些标头。
要使其工作,必须包含cstdint
:
#include <cstdint> // Or <stdint.h>
cstdint
是C样式标头stdint.h
的C++样式版本。然后,在您的情况下,最好使用第一个,即使两者都在C++中工作。
这里说的是,自2010年版本以来,这些标题都随visualstudio一起提供。
您显然没有在顶部包含stdint.h/cstdint。这将起作用:
#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;
}
相关文章:
- 为什么istream不支持右值提取
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- 为什么 int 类型的枚举类值不能用作 int
- int lastIndex[NO_OF_CHARS]={-1} 如何;不同于 vector<int> lastIndex(NO_OF_CHARS, -1);?
- Casablanca/cpprestsdk listener.support接受函数,但不支持方法
- 缺少类型说明符 - 假定为 int.注意 c++ 不支持 default-int
- 错误:C4430:缺少类型说明符-假定为int.注意:C++不支持default-int
- 错误C4430:丢失类型指定词 - 假设INT.注意:C 不支持对我的构造函数的默认设置
- CREATESTRUCT错误C4430:缺少类型说明符-假定为int.注意:C++不支持默认的int C:xdc
- 错误 1 错误 C4430:缺少类型说明符 - 假定为 int.注意:C++不支持默认整数
- 模板类:错误 C4430:缺少类型说明符 - 假定为 int.注意:C++不支持默认整数
- 错误 C4430、C2146 - 缺少类型说明符 - 假定为 int.注意:C++不支持默认整数
- srand(time(NULL)):错误 C4430:缺少类型说明符 - 假定为 int.注意:C++不支持默认整数
- VisualStudio 2010 Express-C++上的RDTSC不支持default-int
- VC++缺少类型说明符-假定为int.注意:C++不支持default-int
- C2143 缺少 '*' 之前的';' 和 C 4430 缺少类型说明符 - 假定为 int。注意 C++ 不支持 default-int
- 为什么不支持从模板<类型名 T1、类型名 T2> 到模板<类型名 T1、int i> 的类专用化
- 错误c4430缺少类型说明符-假定为int.注意:c++不支持default-int生成器
- 错误:缺少类型说明符-假定为int.c++不支持默认的int
- 为什么 C++11 不支持 'std::function<void(int, ...)>'?