c - timespec 的存储大小未知

标签 c linux gnu c99 timespec

我看过this解决方案,但我遇到了同样的错误。对于一个类,我们不得不切换到 c99 编译器而不是 gnu,但现在 timespec 似乎被破坏了。除了“timespec 的存储大小未知”之外,我还收到了一堆其他错误,例如“CLOCK_MONOTONIC undeclared”、“取消引用指向不完整类型‘struct timespec’的指针”,以及未使用的变量警告,但我认为这些会消失一旦我解决了编译器问题。

我不认为我声明 timespec 变量的方式有任何问题,

struct timespec startTime;

最佳答案

由于这种“时钟”支持不是 C99 而是 POSIX,因此默认情况下未启用。

要启用它,您需要将选项 -D_POSIX_C_SOURCE=199309L 传递给编译器或放置一个

#define _POSIX_C_SOURCE 199309L

在相关源文件的最开头。

See also man clock_gettime for reference.

关于c - timespec 的存储大小未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42597685/

相关文章:

c - 为什么 Clang 不会针对不兼容的转换生成任何警告?

mysql - 对单独的日期和时间使用相同的缓冲区

gcc - 有人可以帮我在 SublimeText 3 中配置 MinGW 吗? (新手)

c - 如何添加扫描端口ip

c - 如何在 Linux 上从 Java 代码调用 C 函数

php - 替换 "vendor"目录后使用 Twig 时出现权限被拒绝错误

python - 如何将命令行的输出转换为脚本中的条件?

c - Linux/ARM "kuser_helper"函数的运行时检测

Makefile 和通配符

创建/初始化共享内存中的对象(由mmap()打开)