是否可以使用函数原型编译项目而不是其正文?

时间:2015-12-31 11:47:20

标签: c compilation

我正在编写一个项目,我只需编写其中的一部分,问题是在if条件下我想调用其他人写的函数。我有这个功能的原型,但我没有它的身体。

所以链接器给我一个错误。是否可以在不注释函数调用的情况下编译代码?

以下是我正在尝试编译的代码,感谢任何帮助。

#include <stdio.h>

void foo(void);

int main(void)
{
    char c = getchar();
    if (c=='a'){ foo(); }   
    return 0;
}

3 个答案:

答案 0 :(得分:5)

  

是否可以在不注释函数的情况下编译代码   调用

是。你只需要编译它而不需要链接它。例如,使用gcc&#39; -c选项:

gcc -c foo.c -o foo

答案 1 :(得分:0)

您可以提供模块的模拟实现,它只执行任何操作:

,例如foo.c档案:

void foo(void)
{
}

答案 2 :(得分:0)

在其他人编写函数体之前,您只需添加自己的虚拟定义:

#include <stdio.h>

void foo(void);

void foo(void) {
    // TODO remove this, pending real foo definition
}

int main(void)
{
    char c = getchar();
    if (c=='a'){ foo(); }   
    return 0;
}