假设我有许多要执行的语句 一个固定的顺序。我想使用 g + + 与优化级别2,所以一些 语句可以重新排序。有什么工具可以强制执行语句的某种顺序?
考虑下面的例子。
using Clock = std::chrono::high_resolution_clock;
auto t1 = Clock::now(); // Statement 1
foo(); // Statement 2
auto t2 = Clock::now(); // Statement 3
auto elapsedTime = t2 - t1;
在这个例子中,语句1-3在 但是,编译器不能认为语句2是 独立于1和3,并按如下方式执行代码?
using Clock=std::chrono::high_resolution_clock;
foo(); // Statement 2
auto t1 = Clock::now(); // Statement 1
auto t2 = Clock::now(); // Statement 3
auto elapsedTime = t2 - t1;