在 Linux 下,可以通过以下方式实现 A 程序导出一个函数,B 程序直接调用 A 程序的这个导出函数:
extern
关键字声明要导出的函数,并在源文件中定义该函数。// A.c
#include<stdio.h>
// 声明要导出的函数
extern void export_func();
// 定义要导出的函数
void export_func() {
printf("This is export_func() in A.c\n");
}
extern
关键字声明要导出的函数,并在源文件中调用该函数。// B.c
#include<stdio.h>
// 声明要导出的函数
extern void export_func();
// 调用要导出的函数
int main() {
printf("This is B.c\n");
export_func();
return 0;
}
gcc -c A.c -o A.o
gcc -c B.c -o B.o
gcc A.o B.o -o program
./program
输出:
This is B.c
This is export_func() in A.c
这种方式可以实现 A 程序导出一个函数,B 程序直接调用 A 程序的这个导出函数。需要注意的是,在编译和链接时,需要确保 A 程序的导出函数和 B 程序的调用代码在同一个命名空间中。
领取专属 10元无门槛券
手把手带您无忧上云