【发布时间】:2019-06-13 08:10:09
【问题描述】:
我现在正在编写一个模拟器作为一个副项目,我想以适当的速度模拟我选择的机器作为原始硬件。我的系统应该更强大,以至于执行一条指令的时间可以忽略不计,所以如果我只有一个函数,比如tick,它执行一条指令,它会运行得太快。
我想知道在 C 中是否有任何方法可以在某个给定的时间间隔(以 MHz 为单位)调用函数。就上下文而言,我是在 mac 上编写的,所以任何 POSIX 或 OS X SDK 中的东西都可以工作(我查看了 libdispatch 但什么都看不到)。
最好让一个循环运行并计算自上次循环以来的时间增量?这似乎相当低效(抢占也可能成为这里的一个因素)。这样做的其他方法是什么?谢谢。
【问题讨论】:
标签: c macos loops emulation grand-central-dispatch