c语言头文件相互依赖,头文件C模块之间的依赖关系

在我的位置,我们有一个很大的C代码库,我认为如何使用头文件存在问题.

Visual Studio项目很多,但问题出在概念上并且与VS无关.每个项目都是一个模块,执行特定的功能.每个项目/模块都编译为库或二进制文件.每个项目都有一个包含所有源文件的目录 – * .cpp和* .h.一些头文件是模块的API(我的意思是声明创建的库的API的头文件的子集),一些是内部的.

现在问题 – 当模块A需要使用模块B时,A会添加B的源目录以包含搜索路径.因此,A在编译时可以看到所有B的模块内部头.

作为一个副作用,开发人员不必强调每个模块的确切API,我认为这是一个坏习惯.

我首先考虑了它应该如何应用.我想过创造

每个项目只有一个包含接口头文件的专用目录.希望使用该模块的客户端模块仅允许包含接口目录.

这种方法可以吗?你的位置如何解决问题?

UPD在我之前的地方,开发是在Linux上使用g / gmake完成的,我们确实用于将API头文件安装到公共目录中,这是一些建议的答案.现在我们使用cmake生成项目文件的Windows(Visual Studio)/ Linux(g)项目.我如何强制在Visual Studio中预先安装API头文件?

谢谢

梅德

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值