online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> #include <atomic> #include <thread> #include <chrono> std::atomic<std::chrono::system_clock::time_point> timestamp(std::chrono::system_clock::now()); std::atomic<bool> thread_end; void Timer(void) { std::chrono::system_clock::time_point start = std::chrono::system_clock::now(); std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); int count = 200; while(count--) { // 每50mS將目前的time_point寫入timestamp。 do { now = std::chrono::system_clock::now(); } while(std::chrono::duration_cast<std::chrono::milliseconds>(now-start).count()<50); timestamp.store(now); start = now; } thread_end = true; } int main() { thread_end = false; timestamp.store(std::chrono::system_clock::now()); std::thread timer(Timer); while(!thread_end) { // 持續觀察目前的time_point跟timestamp的時間差。 std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); std::chrono::system_clock::time_point last = timestamp.load(); // 如果時間差大於60mS,印出時間差。 if(std::chrono::duration_cast<std::chrono::milliseconds>(now-last).count()>60) { std::cout<<std::chrono::duration_cast<std::chrono::milliseconds>(now-last).count()<<std::endl; } } timer.join(); return (0); }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue