创建静态链接库
创建静态链接库
- 开发环境VS2022
新建项目 -> Windows桌面向导 -> 创建 -> 静态库
-
创建头文件
定义需要外部调用的函数 变量
head.h定义两个变量两个函数extern int a, b; void fun1(void); void fun2(void); -
创建源文件
实现头文件定义的函数 变量source1.c
#include <head.h> int a = 1; void fun1(void) { printf("lib fun1()\n"); }source2.c
#include <head.h>
int b = 2;
void fun2(void)
{
printf("lib fun2()\n");
}
- 选择编译环境
x86/x64 -> 生成解决方案
生成的静态库文件一般在 ../x64或x86/debug/工程名.lib x86还是x64取决于选择什么编译环境
使用静态链接库
- 引入静态库
主程序/* #include "静态库头文件" 可以是绝对路径也可以是相对路径 #pragma comment(lib, path) lib表示引入的是静态库 path表示生成的静态库即.lib文件的路径 */ #include "D://project//study-lib-dll//lib1//lib1//head.h" #pragma comment(lib, "D://project//study-lib-dll//lib1//x64//debug//lib1.lib") int main(void) { // a b分别定义在source1和source2里面 printf("a = %d, b = %d\n", a, b); // 调用source1定义的fun1 fun1(); // 调用source2定义的fun2 fun2(); return 0; }