C语言:源文件 头文件【.c/.cc/.h】的使用

一个函数包括定义与声明,定义中包含了函数是如何实现的,声明则阐明函数如何被调用。
工程上为了将个函数模块化,通常将声明与定义分开,一般将主函数定义放在.c中,其他函数定义放在源文件.cc中,函数声明放在.h中。
.c 中包含主函数,并include所有使用到的头文件;
.cc中包含其他函数定义,并include需要的.h文件或需要的非本函数的声明;【保证这个源文件可以单独编译成功
如果不将函数的声明与定义分开,将函数声明和定义都放在.h中,那如果现在要增加一个函数的声明文件2.c,这个新函数include其他头文件1.h,那么在编译1.c和2.c时,1.h中的函数定义将在对象文件中出现两次,报duplicated错误。
简而言之,如果不分开,其他.c文件可能只是想用一下前面函数的声明,但确错误地一并引入函数定义,就会报错。
.h中包含库函数声明,一些函数的声明。

还有一个问题,万一.h中有函数定义,这时,如果重复包含头文件,同样会报duplicated错误,因为.h在预编译时进行简单替换,就会出现多个同样的函数定义。
解决方法为条件编译:

#ifndef _HEADERS1_H//未定义,执行如下操作,如有定义,则不执行
#define _HEADERS1_H//定义宏
...
#endif

如果想让自己的文件变为尖角号而不是引号
#include <xxx.h>
则需要用命令将当前目录加到系统路径中
g++ -I./

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值