我是计算机科学专业的一年级学生,正在编写一个 c++ 程序,该程序对一组随机分配的浮点数进行冒泡排序,然后使用二分叉搜索来查找数组中最后一个元素的值(为了在计时代码时保持一致性)。
我想计时执行冒泡排序和二进制印章搜索,但 c++ 标准时间库只会给我第二级精度,这是不可用的,因为这段代码大部分时间都在 1 秒内执行。
我找到了 Boost,我正在尝试将其用作使用 Boost DateTime 库中的微秒时钟获取代码执行的亚秒级精度计时的方法。我使用的代码位于http://pastebin.com/U8D0s2hb。当我执行此代码时,我从 Visual Studio 2008 收到以下错误:
运行时检查失败 #0 - ESP 的值未在函数调用中正确保存。这通常是调用使用一种调用约定声明的函数和使用另一种调用约定声明的函数指针的结果。
罪魁祸首似乎是将时间作为 ptime 对象,但我不知道为什么,因为我以前从未见过运行时检查失败错误。
任何帮助表示赞赏,谢谢。