2012-06-18 39 views
10

Tôi đã tìm kiếm nhưng tôi không thể tìm thấy một hàm tương đương với hàm tic/toc MATLAB để chỉ hiển thị trên bảng điều khiển thời gian chương trình thực hiện quá trình xử lý của nó. (Lý tưởng tôi muốn đặt tic (bắt đầu hẹn giờ) và toc (cuối timer) bất cứ nơi nào trong chương trình.matlab tic toc tương đương trong C++

Bất kỳ lời đề nghị?

+1

này không có gì để làm với biên dịch. – Dennis

Trả lời

17

Tôi đã tìm thấy những gì tôi đang tìm kiếm. Bao gồm:

#include <ctime> 

Sau đó, ngay từ đầu:

time_t tstart, tend; 
tstart = time(0); 

Và cuối cùng trước khi kết thúc:

tend = time(0); 
cout << "It took "<< difftime(tend, tstart) <<" second(s)."<< endl; 
+0

Độ chính xác của thời gian() là giây trong khi tic và toc của MATLAB cung cấp mili giây hoặc cao hơn. – NoahR

+1

@NoahR 'difftime()' trả về 'double', cho ra độ chính xác tốt hơn 1 s. Độ chính xác thực tế phụ thuộc vào hệ thống, vì nó có thể là trong MATLAB. – glglgl

+0

Trong mục C sử dụng '#include '. Nhưng lưu ý rằng ít nhất là dưới Windows, đối với tôi nó vẫn trả về số giây đầy đủ, mặc dù kiểu trả về là gấp đôi. Phần mili giây là số 0. –

3

Nếu bạn đang ở trên linux bạn có thể sử dụng chức năng

clock_gettime(); 

nếu trên cửa sổ thử

QueryPerformanceCounter() 

Bạn có thể google để biết chi tiết những thực hiện cụ thể. hệ điều hành khác tôi không biết. có không nghi ngờ nhiều cách khác để đạt được điều tương tự nhưng nếu bạn không nhận được phản hồi khác, đây là một nơi hợp lý để bắt đầu.

Các vấn đề liên quan