我遇到了c编译的问题,但它与我在论坛上建立的其他帖子不太接近:
我正在为微控制器arm7编写程序。
我有一个大的头文件microcontroller.h
,其中包含寄存器,内联函数和微控制器特有的其他内容的定义
软件构建如下:
- main.c
包括microcontroler.h
- pio.c
包括microcontroler.h
- timer.c
包括microcontroler.h
可以编译每个文件,但是当链接目标文件时,编译器会返回多重定义错误。
错误与_inline functions
有关。
我理解这个错误,因为函数被定义了三次。
我尝试仅将microcontroler.h
包含在main.c
中,但我在pio.c
和timer.c
中为我使用的每个寄存器都遇到了编译错误。
我无法分解microcontroler.h
,因为它是一个非常大的文件。
我正在寻找这个问题的解决方案。
非常感谢您的帮助。
巴普蒂斯特