模块化编程问题!!!

2019-03-24 19:00发布

之前版主给的一个资料我现在才看 整到模块化了,很有用但是不会用啊。。。 简单就是我建立一个LED.c的源文件,然后想建立LED .h 的头文件。问题就是我建立完了LED.c的源文件后里面自动包含一个reg52.h的头文件,然后我建立LED .h 的头文件后,它不再LED.c里面。而是并列关系。不知道对不对,也不知道是不是我的.h文件建立方法不对。 请指教.h建立方法,谢谢 我把我写的那个传附件了,谢谢大家看看 [ 本帖最后由 51学习者 于 2012-4-1 10:00 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
51学习者
1楼-- · 2019-03-26 14:05
 精彩回答 2  元偷偷看……
syaoraner
2楼-- · 2019-03-26 17:04
头文件是编译预处理会调用的,不用添加到工程
51学习者
3楼-- · 2019-03-26 23:00
谢谢大家 问题解决了,不是建立文件的问题。。。。有个地方的程序写错啦
感谢大家关注
tang_jun_001
4楼-- · 2019-03-26 23:17
请教一下,我在模块化编程时全局变量放在哪里定义?我定义了一个#include.h来放这些全局变量,
extern u8 USART1_Receive_FLAG ;
extern u8 TxBuffer[100];
在main.c和stm32f10x_it.c里都调用到,但是编译提示重复定义吧
.Object模板工程.axf: Error: L6218E: Undefined symbol TxBuffer (referred from stm32f10x_it.o).
.Object模板工程.axf: Error: L6218E: Undefined symbol USART1_Receive_FLAG (referred from stm32f10x_it.o).
如果只在main.c里定义编译stm32f10x_it.c有通不过,像这种各个文件都要用到全局变量在模块化编程时应该怎么处理
谢谢
jishuaihu
5楼-- · 2019-03-27 04:25
Undefined symbol 不是重复定义,是没有定义。你只extern了。但是没有定义具体在哪儿吧
Li_Lei
6楼-- · 2019-03-27 06:47
extern u8 TxBuffer[100];这样不行
改成extern u8 TxBuffer[];告诉编译器这是个数组就好,不能再定义大小了

一周热门 更多>