stm32中 .c和.h文件是什么关系?

作者&投稿:戴饰 (若有异议请与网页底部的电邮联系)
单片机中.c文件与.h文件的关系和区别是什么,在.h文件中改东西,所对应~

.h文件是程序的头文件,就是代码的声明部分,在编译时编译器会首先搞这一段代码,.h文件相当于你告诉编译器你写的程序有哪些函数以及一些全局变量。
.c文件是程序的主题,是代码函数的实现部分,与.h文件是对应关系(里面用到的函数大部分需要在头文件里声明)。
头文件改了,.c文件应该也要改。看具体问题啦。
他俩的关系其实事件久了自然就知道了

。c表示源文件,程序的原型,变量的定义
。h文件表示声明变量和函数。别的c文件可以包含他。

本质上没有任何区别。 只不过一般:.h文件是头文件,内含函数声明、宏定义、结构体定义等内容
.c文件是程序文件,内含函数实现,变量定义等内容。而且是什么后缀也没有关系,只不过编译器会默认对某些后缀的文件采取某些动作。你可以强制编译器把任何后缀的文件都当作c文件来编。

编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位。

它将一个或多个目标文件进行函数与变量的重定位,生成最终的可执行文件,在PC上的程序开发,一般都有一个main函数,这是各个编译器的约定,当然,你如果自己写连接器脚本的话,可以不用main函数作为程序入口。(main .c文件 目标文件 可执行文件)

扩展资料

main函数为标准C/C++的程序入口,编译器会先找到该函数所在的文件。

假定编译程序编译myproj.c(其中含main())时,发现它include了mylib.h(其中声明了函数voidtest()),那么此时编译器将按照事先设定的路径(Include路径列表及代码文件所在的路径)查找与之同名的实现文件(扩展名为.cpp或.c,此例中为mylib.c)。

如果找到该文件,并在其中找到该函数(此例中为voidtest())的实现代码,则继续编译;如果在指定目录找不到实现文件,或者在该文件及后续的各include文件中未找到实现代码。

则返回一个编译错误.其实include的过程完全可以"看成"是一个文件拼接的过程,将声明和实现分别写在头文件及C文件中,或者将二者同时写在头文件中,理论上没有本质的区别。



.C:写具体函数
.H:是.C的头文件,里面包含函数的定义,供其他.C函数调用。
比如有USART.C和USART.H,我再MAIN.C里想用USART.C里的函数USART_INIT(),我在MAIN.C里需要加“#include"USART.H"”,然后用函数“USART_INIT()”.

.c包含.h,.h提供函数


望奎县17328096866: stm32中 .c和.h文件是什么关系? -
苑荣正安: .C:写具体函数 .H:是.C的头文件,里面包含函数的定义,供其他.C函数调用. 比如有USART.C和USART.H,我再MAIN.C里想用USART.C里的函数USART_INIT(),我在MAIN.C里需要加“#include"USART.H"”,然后用函数“USART_INIT()”.

望奎县17328096866: stm32库里的inc和src是什么文件 -
苑荣正安: inc是include的简称,src是source的简称. include文件夹下面一般放置头文件,一般是h文件 source文件夹下面一般放置头文件,一般是C文件

望奎县17328096866: STM32里面头文件里包含stdio.h,这个有啥作用? -
苑荣正安: 都是.c文件,不是头文件啊.stm32f10x_it.c 中断处理函数都放在这个文件里面.main.c 这个不用解释了吧stm32f10x.h 这个是头文件,它包含了stm32的一些常用宏,寄存器结构体的定义,高版本的库还放着中断向量表. stm32f10x_rcc.c 这个文件里的固件函数包含了一些对复位、时钟的控制的函数stm32f10x_gpio.c这个文件里的固件函数包含了对GPIO的操作函数stm32_eval.c 这个是st公司为其制作的评估板写的程序system_stm32f10x.c主要包含了对系统时钟设置,一般是对倍频时钟的设置 具体可以看一下文件内容啊!

望奎县17328096866: STM32嵌入式
苑荣正安: .c是C语言的程序文件,即实现功能的代码文件,内含函数实现、变量定义等内容. .h是C语言的头文件,内含函数声明、宏定义、结构体定义等内容. 详见: C语言中.h与.c解析 http://wenku.baidu.com/view/f9545417866fb84ae45c8d27.html

望奎县17328096866: stm32的固件库中stm32f10x - it.c 和stm32f10x - rcc.c这两个文件分别是处理什么的 ?什么异同?一定采纳 -
苑荣正安: stm32f10x_it.c是相关外设中断函数文件.stm32f10x_rcc.c是处理内部时钟相关函数文件.异同,都是库函数,为用户对方便调用!

望奎县17328096866: 基于stm32开发中库文件有哪些 -
苑荣正安: 每一个外设都有自己的c文件和h文件. 你可以在STM32F10x_FWLib文件夹里面看到所有的库文件.例如: misc,adc,bkp,can,crc,dac,dma,exti,flash等等,一直到wwdg

望奎县17328096866: stm32中有个头文件是不是就要有一个和这个头文件对应的源文件(就是c或s文件) -
苑荣正安: 这个不一定,要看情况.有些系统的头文件,就没有对应的.c或.s文件.一般自己写的.c文件都要带一个.h头文件.当然这个也是为了代码结构和可读性.所以这个没有绝对性,自己玩的话,随自己喜好.工作上就要根据你的代码规范来写了.

望奎县17328096866: 怎样在stm32工程用户新建.c和.h文件 -
苑荣正安: new------new file 分别把文件名保存为.c 和.h.然后add exiting file from...把.c文件添加进工城.头文件在配置选项 C51那里把,对应的最底层路径加入即可

望奎县17328096866: STM32包含的头文件.h文件很多 -
苑荣正安: 你调用的函数他在别的函数里面保函的头文件也会出现在这个文件里

望奎县17328096866: 这个程序最左边一栏好像就三个文件,感觉RCC,GPIO什么都没配置,sys.c和sys.h是系统自 -
苑荣正安: 名称尾坠是.s,一般代表汇编代码,也就是启动代码,实现的应该是相应寄存器的配置.那个.c和.h文件就是对该功能的实现,.s肯定是被嵌入到.c或者.h中的.

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网