野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10838|回复: 3

程序的文件组织架构的几个问题

[复制链接]
发表于 2017-5-1 15:34:07 | 显示全部楼层 |阅读模式
问题一:火哥的例程中的程序编译前后的对比,为什么编译后会有很多.H文件呢?
捕78.PNG 编译后.PNG
问题二:程序头文件的包含问题,以led例程为例,main.c文件:#include "stm32f10x.h"和#include "led.h"
                                                                              led.c文件:#include "led.h";主要是端口的配置函数;
                                                                             led.h文件:#include "stm32f10x.h";主要是宏定义和函数声明,这个例程里没有函数声明;
那么问题来了,main.c和led.h文件中的#include "stm32f10x.h"头文件应该只有一个起了作用,个人觉得led.h文件中的#include "stm32f10x.h"头文件起了作用,不知道是不是这样,到底是什么一个调用过程呢
还有一个问题,main.c文件为什么能调用led.c文件中的端口配置函数,没看到它们之间的直接联系,它们是怎么联系的,希望大家能解释一下它们之间的关系


回复

使用道具 举报

发表于 2017-5-2 08:54:31 | 显示全部楼层
编译之后编译器会把头文件加入到文件列表
第二个问题没看懂,反正是c文件有包含的头文件它都会加进来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-7 09:57:31 | 显示全部楼层
flyleaf 发表于 2017-5-2 08:54
编译之后编译器会把头文件加入到文件列表
第二个问题没看懂,反正是c文件有包含的头文件它都会加进来

首先要谢谢你,针对第一个问题,我还是有点不明白,有些没包含的.h文件编译器也添加进来了,能解释一下吗?
回复 支持 反对

使用道具 举报

发表于 2017-5-8 08:51:57 | 显示全部楼层
于飞1101 发表于 2017-5-7 09:57
首先要谢谢你,针对第一个问题,我还是有点不明白,有些没包含的.h文件编译器也添加进来了,能解释一下吗 ...

头文件A包含了头文件B,那么B也会被加入
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 08:38 , Processed in 0.030214 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表