clock_gettime
不再适用于MacOS Sierra。很确定我在Xcode 8出现之前正确编译了这个。我真的很想做什么才能让它正确编译。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main(){
struct timespec time1, time2;
clock_gettime(CLOCK_MONOTONIC,&time1);
//Some code I am trying to work out performance of...
clock_gettime(CLOCK_MONOTONIC,&time2);
printf("Time Taken: %ld",time2.tv_nsec - time1.tv_nsec);
}
像这样的代码根本无法编译。我被告知sierra计时库已经改变了。我得到CLOCK_MONOTONIC
未定义的编译器错误以及clock_gettime
隐式声明的警告,如果我将CLOCK_MONOTONIC
定义为随机的话会变成错误,因为它只会出错在连接阶段。
有没有人知道修复或解决方法来编译和执行代码?
答案 0 :(得分:1)
我认为CLOCK_MONOTONIC
近来并不存在。
我相信你想要的可能是mach_absolute_time()
加上转换,如记录here;这似乎是单调的,绝对的(这是你可能知道的两个不同的东西)。
其他有用的提示可以在以下相关(但我认为不重复)的问题中找到: