在 C 中使用 header 个文件

Using header files in C

我正在尝试学习 header 文件在 C 中的使用。现在我在研究中发现的资源很少,但其中 none 创造了预期的效果。

首先,根据 this 教程,我可以在 header 文件本身中编写我的函数。但我不想那样做。我想保持 header 文件不变,即使我在界面保持不变的情况下更改了代码。

问题的答案提出了两种方法。首先我可以把代码和header文件分开写,然后在编译时包含它们,如下:

gcc -o myprog test.c library.c

但我也不想那样做。我的库函数应该随时可用,无需包含在编译行中。根据相同的答案,我可以创建一个库,然后使用 -l 开关 link 到它。但是当涉及到像 printf 这样的函数时,你不需要做任何一个。您所要做的就是包括 header files.Is 有什么办法吗?

TL 摘要;DR

我想用 C 写一个库:

  1. 不必在 header 文件本身中实现。

  2. 不必每次使用库函数时都包含在编译行中。

  3. 不用每次使用库函数时都link加上-l。

  4. 基本上应该只包含 header 文件来使用库。

我能在 Linux 完成吗?

But when it comes to functions like printf, you don't need to do either of them. All you have to do is to include the header files.Is there any way of doing that?

简答为 "no"。长答案是 C 编译器链接了一些库 "for free",包括实现 printf.

的库

您可以选择拒绝这些 "freebies" - 在 gcc 中是 -nodefaultlibs。如果添加此选项,printf 将丢失。

注意: headers 可以实现的一件事是宏。但是,宏的行为与普通函数不同,因此您应该非常谨慎地使用它们。