头文件编写与Makefile格式

本文探讨了头文件的编写原则,强调头文件仅用于声明,不包含定义,以防止编译冲突。同时,详细介绍了如何避免头文件的相互包含问题及解决策略。此外,还阐述了Makefile的作用,它是编译脚本,根据文件修改时间自动编译所需部分,提高编译效率。文章通过实例展示了基本的Makefile编译规则。
摘要由CSDN通过智能技术生成

头文件中应该写什么

        问题:头文件可能被任何的源文件包含,意味着头文件的内容会在多个目标文件中存在,合并时要保证不能冲突

        重点:头文件中只能编写声明语句,不能定义语句

                比如:全局变量的声明 extern int num;

                                函数声明

                                宏常量

                                宏函数

                                typedef 类型重定义

                                结构、联合、枚举的类型说明

头文件的编写规则

        1、为每个.c文件写一份.h文件,.h文件是对.c文件的说明

        2、如果需要使用某个.c文件中的变量、函数、宏、结构体...,只需要把该.c文件的.h文件导入即可使用

        3、.c文件也需要导入它的.h文件,目的是为了让声明与定义一致

头文件的相互包含:(死锁)

        假如a.h包含了b.h,b.h又包含a.h,这种情况就叫做头文件的相互包含,会导致编译错误

        

        当确认变量、函数名已经定义且导入,但是依然报错:未定义 xxx,先考虑是否头文件卫士写错,再考虑是否头文件相互包含

        解决方法:从a.h中把需要用到的b.h的内容提取出来,从b.h中把需要用到的a.h的内容提取出来,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值