0

我很确定这个问题是重复的,但找不到答案。

我写了一个函数(在“function.h”和“function.c”文件中),并将其编译为“function.o”文件。我想在我的主要源代码中使用“function.c”中定义的函数,但不包括“function.h”。是否可以仅使用“function.o”编译 main.c?

4

1 回答 1

3

头文件(通常)只是一个声明列表,它们以文本方式(按#include)插入到源文件中。

因此,如果function.h包含

void foo(int x);

并且你#include "function.h"在你的主源文件中,它完全等同于void foo(int x);在你的源文件中写入。

头文件对于代码组织很有用,因为手动将这些声明复制到每个使用它们的源文件中会非常低效(并且容易出错)。但是,如果您出于任何原因想要避免使用头文件,则将这些声明直接复制到源文件中与#include'ing 文件具有相同的效果。

于 2013-04-05T21:02:50.900 回答