我想做一个纳秒级的时钟来测试程序在运行到某个地方的时候 用了多长时间 精确度要纳秒级的 这样的精确度在VC中可以达到吗
还有 我在网上查到一段代码 里面是用汇编语言内嵌到VC中来实现纳秒计时的 可其中有个_emit 这个东西 vc不识别 要加入什么库函数才可以使用呢

解决方案 »

  1.   

    可以用
    QueryPerformanceCounter
    QueryPerformanceFrequency
      

  2.   

    Win下要纳秒级精度,不添加硬件的情况下,LZ可以放弃了
      

  3.   

    window下搞这些是不可能的,遇到线程切换一下就10多毫秒了.............
      

  4.   

    直接用汇编调用RDTSC指令,应该能达到纳秒级吧。不过VC的编译器不支持这个指令,所以必须用机器码表示。
    看看这个:
    http://blog.chinaunix.net/u3/93713/showart_2057567.html。
    因为RSTSC记录的是通过CPU的时钟周期数,所以只要是1GHz以上的计算机,就能实现纳秒级了。不过因为Windows中进程切换都花几百毫秒,所以不是很有意义。
      

  5.   

    要准确测量时间有两个条件
    1、有个准确的表
    2、你掐表的反应要快在Windows平台上这两个条件都达不到纳秒级有什么用
    就算你能取到纳秒级时间,但是你的VC程序的线程调度也达不到纳秒级别,也就是掐表的“人”不够快