这就是我在WIndows中使用的内容:
#include <ctime>
#include <iostream>
int main( void )
{
using namespace std;
clock_t lastT;
lastT = clock();
cin.get();
cin.get();
return 0;
}
在Linux中我收到错误:
'clock_t' was not declared in this scope
在Linux中是否还有其他一些数据类型?
我在Anjuta IDE中通过单击Run来编译它。
答案 0 :(得分:3)
您的IDE /编译器不兼容。 C ++标准要求<ctime>
标头与C99标头<time.h>
相同,除了符号放在std
名称空间中(C ++ 03,§17.4.1.2/ 4) 。 C99§7.23.1/ 3要求<time.h>
将clock_t
声明为能够表示时间的算术类型。
因此,如果您的实现未声明clock_t
,则它不符合C ++标准。
答案 1 :(得分:2)
我复制/粘贴/编译,我在linux上没有任何问题。
> uname -a
Linux xxxhappy 2.6.16.46-0.12-bigsmp #1 SMP Thu May 17 14:00:09 UTC 2007 i686
i686 i386 GNU/Linux
有关详细信息,请参阅man 3 clock
。
如果您的文件名为main.cpp
,则可以从命令行编译它:
g++ -o main.o -c -g -Wall main.cpp
g++ -o app main.o
或一步到位:
g++ -o app main.cpp
您的可执行文件将命名为app
,您可以随意命名。
答案 2 :(得分:1)
确定。我用以下方法解决了这个问题:
int lastT;
代替。其余的工作方式相同。