打印
[PIC®/AVR®/dsPIC®产品]

新建头文件和函数文件

[复制链接]
1196|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
z_jzhao|  楼主 | 2019-5-21 15:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因原来在main()函数的文件中有太多的变量和函数,我想新建的一文件,将大部分函数和变量的定义及实现放在新建文件中,该如何操作,望指教

使用特权

评论回复
沙发
ayb_ice| | 2019-5-21 15:52 | 只看该作者
移过去就是了,在调用的地方加extern声明即可

或建议对应的头文件。。。

使用特权

评论回复
板凳
oxygenzz| | 2019-5-21 16:06 | 只看该作者
一般是采用.c/.h文件对的形式,例如 code.c,code.h。
.c 文件存放代码实现,.h文件存放函数声明等

建议研究一下MCC生成的代码结构,这是很好的例子


使用特权

评论回复
地板
z_jzhao|  楼主 | 2019-5-21 17:03 | 只看该作者
oxygenzz 发表于 2019-5-21 16:06
一般是采用.c/.h文件对的形式,例如 code.c,code.h。
.c 文件存放代码实现,.h文件存放函数声明等

建好的文件是放在当前项目文件中吗?如何调用?

使用特权

评论回复
5
CoolSilicon| | 2019-5-22 08:33 | 只看该作者
z_jzhao 发表于 2019-5-21 17:03
建好的文件是放在当前项目文件中吗?如何调用?

在X IDE里面, 分别在source/header那里点右键, 选新建文件, 会自动生成对应的.c, .h文件的模板的..
至于调用最简单了, 你可以先用MCC生成一个项目, 然后学习一下, 照葫芦画瓢, 简单容易.

使用特权

评论回复
6
叶春勇| | 2019-5-22 15:21 | 只看该作者
到github去看看开源代码,看看别人是怎么写库的。

使用特权

评论回复
7
externally| | 2019-5-23 15:09 | 只看该作者
放到同一个工程里面,main.c里面包含.h文件即可

使用特权

评论回复
8
奔波儿熊| | 2019-5-24 16:25 | 只看该作者
.c文件放定义
.h文件放声明
main.c包含新建的.h

使用特权

评论回复
9
z_jzhao|  楼主 | 2019-5-24 22:05 | 只看该作者
奔波儿熊 发表于 2019-5-24 16:25
.c文件放定义
.h文件放声明
main.c包含新建的.h

差不多弄好了,我定义两个.h文件声明两部分变量和函数;同时也定义了两个.c放了各自的变量和函数,但是又有两个新问题,
1、如果在两个.c文件中要相互调用对方的函数和变量,在.c中包括对方.h说不能打开,但在main()中的.c中包括是正常的,难道用extern再声明一下吗?
2、如果在一个.c中typedef unsigned int    uint16,那如何在其它的.c中应用uint16?

使用特权

评论回复
10
z_jzhao|  楼主 | 2019-5-24 22:07 | 只看该作者
externally 发表于 2019-5-23 15:09
放到同一个工程里面,main.c里面包含.h文件即可

在main.c中包含.h正常,如果在另一个.c中包含,就提示打不开文件,为什么?

使用特权

评论回复
11
xinpian101| | 2019-5-24 22:22 | 只看该作者
直接定义就完了,然后头文件包含进来。

使用特权

评论回复
12
externally| | 2019-5-29 20:22 | 只看该作者
z_jzhao 发表于 2019-5-24 22:07
在main.c中包含.h正常,如果在另一个.c中包含,就提示打不开文件,为什么? ...

可能是绝对目录与相对目录不同的问题

使用特权

评论回复
13
characteristic| | 2019-5-29 20:56 | 只看该作者
现在很少有人用一个main.c文件搞了,基本上都会按照模块分成不同文件

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

72

帖子

0

粉丝