静态库的创建和使用-动静态链接库-3

166 阅读1分钟

创建静态链接库

创建静态链接库

  • 开发环境VS2022
    新建项目 -> Windows桌面向导 -> 创建 -> 静态库

创建静态库截图.PNG

  • 创建头文件
    定义需要外部调用的函数 变量
    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;  
      }