如何让g ++在terminal显示执行时间?

我想让g ++向我展示什么是执行时间,也许是回报。

g++ file.cpp -o file ./file 

当我使可执行文件,然后调用它只显示没有返回和执行时间的输出。

我想让它显示这样的东西:

 Process returned 0 (0x0) execution time : 0.002 s 

感谢您的关注!

您可以使用“时间”命令来测量您的过程需要多长时间。

要确定返回值,您可以打印$?的值 运行你的程序后的环境变量:

 time ./file ; echo Process returned $? 

您还可以指定如何使用-f(或–format)选项格式化结果的时间。 但是,有些Linux发行版可能会使用缺少该选项的bash-builtin时间实现,因此您可能必须提供使用实时程序的完整路径:

 /usr/bin/time -f "Execution time: %E" ./file 

你可以使用time命令如下:
time ./file

首先看这里: 用c ++计算执行时间

你也可以在代码中使用一个时钟(来自time.h )(尽管对于多线程代码来说它有点儿有趣)

 int a; unsigned t0 = clock(), t1; std::cin >> a; t1 = clock() - t0; 

仔细阅读时间(7) 。 你可以使用外部时间(1) (从你的shell,如这里 回答 )。 你也可以使用从你的程序系统调用像clock_gettime(1)等…

不要指望时间对于小的延迟(例如不到半秒)是真正有意义的或准确的。

顺便说一句,你的问题与GCC 编译器 (即g++ )没有太大的关系。 如果使用最近的GCC 4.8和-std=c++11你可以使用std :: chrono等等等等。即使使用这些,它也不是定时程序的编译器(但是一些使用系统调用的库函数)