在没有实现的静态库中调用函数

时间:2014-07-03 20:01:22

标签: c static-libraries

我想知道在静态库中是否可以调用实现在我的应用程序而不是库中的函数。

像这样:

静态库

foo.h中

void foo_func();

foo.c的

#include "foo.h"

void foo_func()
{
    app_func();
}

应用

的main.c

#include <foo.h>

uint8_t flag = FALSE;

uint8 main()
{
    foo_func();

    while(!flag);

    return 0;
}

void app_func()
{
     flag = TRUE;
}

1 个答案:

答案 0 :(得分:1)

使用ar创建的静态库只是.o目标文件的归档。您可以调用使用ar创建的静态库中的任何外部函数,无论是否存在,与任何.o文件一样。虽然有可能,但回叫应用程序可能不是最佳设计选择。