我的 C 代码有一个奇怪的问题,我不太了解。
我有两个头文件os_memory.h
和os_mem_drivers.h
.
os_memory.h
#ifndef OS_MEMORY_H_
#define OS_MEMORY_H_
#include "lcd.h"
#include "os_mem_drivers.h"
static const MemAddr gui_alloc_table_start = 0x1C8;
#endif /* OS_MEMORY_H_ */
os_mem_drivers.h
#ifndef OS_MEM_DRIVERS_H_
#define OS_MEM_DRIVERS_H_
#include "os_memory.h"
#include "defines.h"
#include "os_core.h"
typedef uint16_t MemAddr;
#endif
如果我尝试编译此代码,编译器会给我错误unknown type name 'MemAddr'
。我不明白,因为我在每个 .h 文件中都包含了正确的头文件,所以不应该有任何错误。
有什么我在这里想念的吗?
我正在为这个项目使用 AtmelStudio 6.1 和 C 语言。