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

标签 c static-libraries

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

像这样:

静态库

foo.h

void foo_func();

foo.c

#include "foo.h"

void foo_func()
{
    app_func();
}

应用

ma​​in.c

#include <foo.h>

uint8_t flag = FALSE;

uint8 main()
{
    foo_func();

    while(!flag);

    return 0;
}

void app_func()
{
     flag = TRUE;
}

最佳答案

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

关于在没有实现的静态库中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24562390/

相关文章:

c - 不同文件中的相同函数返回不同的结果

c++ - 写回全局变量

与线程二叉树混淆

visual-studio-2010 - 静态库中的隐藏函数

ios - 如何向使用cocoapods的项目添加静态库(iOS)

c - 用于解释简单指令集的程序

c - 错误: Parameter name omitted in C for structs

c++ - Rcpp:安装带有静态库的包,以便独立于平台使用

C++ 静态类成员未在 * 静态库中初始化 *

ios - ios中的静态库