typedef (timer_t) 的冲突类型错误

标签 c gcc typedef

我目前正在使用 ARM GCC 编译器编译我的代码。我的代码有一个 RTOS,有一个 types.h 文件,该文件将 clock_t 类型定义为 unsigned long。由于 ARM GCC 编译器也有 clock_t 的类型定义,因此我遇到了相同类型的冲突问题。

我已经尝试包含来自 GCC 的 .h 文件并按照某些论坛中的建议取消定义,但它也不起作用。我也没有看到 GCC 的 time.h 文件包含在我的任何项目源文件中。

最佳答案

一个简单的解决方法是

typedef unsigned long int custom_clock_t;
#define clock_t custom_clock_t

这样,编译器将在用 custom_clock_t 编译文件之前替换所有出现的 clock_t 并且冲突将消失,同时保持熟悉的 clock_t语法完整。

关于typedef (timer_t) 的冲突类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039499/

相关文章:

C - 我想反转链表

c - 运行linux可执行文件的过程

c++ - GDB 不喜欢我的 typedef

c - 尝试创建链接列表时出现段错误

C++11 lambdas 可以访问我的私有(private)成员。为什么?

无法在mac上执行C代码(最初在DevC++中执行)

c - 多个仅包含 header 的库导致重新定义错误

c++ - 我在这里做错了什么?使用指向函数 typedef 的指针定义类。

c++ - MacTypes.h 中 UInt32 的 Typedef 重新定义,来自 CFBase.h 中的定义

c - 为什么这个 malloc 在 C 中不起作用?