问题一:
为什么编程中有.c和.h之分?
.h为头文件,.c为源文件,其实两者都是代码,为什么要做这样的区分呢?主要有几点好处:一是头文件用于共享,只用一句#include就能包含,当然.c也可以包含;二是如果你要写库的话,可是你又不想暴露你的源代码,你可以把.c编译成.obj或是.lib发给别人用,然后把.h作为使用说明书。所以一般情况下,.h里面全部都是声明,.c里面全部都是实现,有了.h就可以编译,有了.lib或你的.obj就可以连接
问题二:
编译过程在哪些情况下会出现警告?
1、当一个函数未被声明就直接拿过来使用,会出现警告。
2、如果通过一个数据类型定义了一个变量,那就相当于开辟了内存空间,如果未被使用,出现警告。int a;
3、函数被定义,但是没有被调用。有可能出现错误,当函数定义如下时:
void static GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
https://blog.csdn.net/halikuiyin/article/details/77837117