如何使用目标文件中的函数

时间:2013-04-05 20:40:03

标签: c compiler-construction

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

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

1 个答案:

答案 0 :(得分:3)

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

因此,如果function.h包含

void foo(int x);

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

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