gpt4 book ai didi

c - 未知类型名称 'clockid_t'

转载 作者:行者123 更新时间:2023-12-02 00:15:15 26 4
gpt4 key购买 nike

我正在尝试在 Mac OS X 上使用在 Linux 平台上编写的 C 代码。我遇到了与计时器相关的错误:

../src/stinger/timer.c:61:1: error: unknown type name 'clockid_t'
../src/stinger/timer.c:74:2: error: #error "Cannot find a clock!"

指向这段代码。

 static clockid_t clockid;

#if defined(CLOCK_REALTIME_ID)
#define CLKID CLOCK_REALTIME_ID
#define CLKIDNAME "CLOCK_REALTIME_ID"
#elif defined(CLOCK_THREAD_CPUTIME_ID)
#define CLKID CLOCK_THREAD_CPUTIME_ID
#define CLKIDNAME "CLOCK_THREAD_CPUTIME_ID"
#elif defined(CLOCK_REALTIME_ID)
#warning "Falling back to realtime clock."
#define CLKID CLOCK_REALTIME_ID
#define CLKIDNAME "CLOCK_REALTIME_ID"
#else
#error "Cannot find a clock!"
#endif

这个错误的原因是什么? clockid_t 类型应该从哪里来?

最佳答案

如果我没记错的话,所有“时钟”的东西都是 POSIX 的“实时”扩展的一部分,它不是由 OSX 实现的。所以你不会有运气。您必须使用 OSX 特定功能才能获得分辨率良好的时钟。

编辑P99我有一个用于 OSX 的包装器代码,用于类似的 C11 函数 timespec_get。不知道这是否真的有用,我没有 Mac,但你可以看看那里。 (文件是“p99_threads.h”)

关于c - 未知类型名称 'clockid_t',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com