RobinHou 发表于 2025-3-28 10:34:21

32G12K128 FreeRTOS 项目编译 时自己新建的任务报重复定义

在编译时,自己新建了几个任务,新建任务的handle报重复定义

查询MAP文件确实比没有报重复定义的地方多了几处。
请问是不是内存超了导致的。

hsrzq 发表于 2025-3-28 21:11:21

请问是不是内存超了导致的。
————
不是。就是真的重复定义了KEY_Task_Handler而已。

产生这个问题最常见原因,头文件中没有使用#ifndef…#define…#endif,头文件引用一次就重复定义一次。

RobinHou 发表于 2025-3-28 22:22:43

hsrzq 发表于 2025-3-28 21:11
请问是不是内存超了导致的。
————
不是。就是真的重复定义了KEY_Task_Handler而已。


是的,最后查到是除了main.c引用了头文件,另一个C文件也引用了这个头文件。我的头文件就是这种格式#ifndef   __STC32G_H__
#define   __STC32G_H__
#endif    头文件就是这种格式的,依然会报重复定义。

ercircle 发表于 2025-3-28 23:18:58

变量在头文件中加extern前缀只声明。在.c文件中定义。

hsrzq 发表于 2025-3-31 10:08:50

RobinHou 发表于 2025-3-28 22:22
是的,最后查到是除了main.c引用了头文件,另一个C文件也引用了这个头文件。我的头文件就是这种格式#ifnd ...

99%的可能性是你#ifndef…#define…#endif用错了。
把你.h文件的内容贴出来吧
页: [1]
查看完整版本: 32G12K128 FreeRTOS 项目编译 时自己新建的任务报重复定义