首页 > 解决方案 > 使函数在 C 中的库外部不可见

问题描述

假设我正在用 C 语言创建一个库,其中包含函数api1()api2()api3()。但是,这些功能非常复杂,所以我需要其他功能来制作它们。我们将这些函数称为 subfunc1()subfunc2()subfunc3()。我想要的是这个库的用户只能使用api1,2,3()而不是subfunc1,2,3()。我不能只将它们声明为静态,因为我想将api1,2,3()放入api.c文件,并将subfunc1,2,3()放入subfunc.c文件。
所以我的问题是:

标签: c

解决方案


对于其他人使用您的库中的函数,他们需要一个头文件,其中包含您希望他们使用的函数的所有函数声明。

因此,只需创建一个名为的头文件[library name].h,该文件包含您要公开的函数的函数声明,并将其与您的库文件捆绑在一起。

我自己并没有制作太多的库,但是从使用它们开始,通常的做法是在头文件中编写如何使用每个函数的文档,并且函数越少,读者的困惑就越少。


推荐阅读