我想知道如何使结构在库内部和外部标头中都可见。让我尝试在下面的代码中解释
我有一个结构:
typedef struct{
int a;
int b;
}strt_1;
我想在应用程序中创建一个相同的实例并将其传递给一个库函数,然后更新里面的 a & b 变量,因此
应用
int main()
{
strt_1 a;
foo(&a);
}
图书馆内:
int foo(strt_1 *a)
{
a->b = 0;
a->a = 1;
}
问题:如果我在库中创建结构的定义,当我在应用程序中重新键入相同的内容时,它显示为重新定义(显然)。但是如果我在应用程序中键入它,我将无法编译它,因为它说缺少定义,所以,我如何向外部 3rd 方库用户显示 Struct 的内容,并使其对库编译器可见?