美文网首页
linux下静态链接库的创建和使用

linux下静态链接库的创建和使用

作者: 小幸运Q | 来源:发表于2020-03-11 17:12 被阅读0次

    https://www.cnblogs.com/qianxiaoxu/p/11876198.html


    /*add.h */
    
    #ifndef _ADD_H_
    
    #define _ADD_H_
    
    int add(int a, int b);
    
    #endif
    
    /*add.c*/
    
    #include "add.h"
    int add(int a, int b)
    {
        return a+b;
    }
    
    /*sub.h*/
    
    #ifndef _SUB_H_
    #define _SUB_H_
    
    int sub(int a, int b);
    
    #endif
    
    /*sub.c*/
    
    #include "sub.h"
    int sub(int a, int b)
    {
        return a-b;
    }
    
    /*main.c*/
    
    #include <stdio.h>
    #include "add.h"
    #include "sub.h"
    int main(void)
    {
           printf("1 + 2 =%d\n", add(1, 2));
           printf("1 - 2 =%d\n", sub(1, 2));
           return 0;
    }
    
    1. gcc编译.c生成文件.o:sub.o ,add.o
    gcc -c add.c
    
    gcc -c sub.c
    
    1. ar命令-静态函数库创建:
    ar -cr libmymath.a sub.o add.o
    

    -c :create的意思
    -r :replace的意思,表示当前插入的模块名已经在库中存在,则替换同名的模块。如果若干模块中有一个模块在库中不存在,ar显示一个错误信息,并不替换其他同名的模块。默认的情况下,新的成员增加在库的结尾处。

    1. 在程序中使用静态库:
    gcc main.c -o main -L . -lmymath
    
    图片.png

    相关文章

      网友评论

          本文标题:linux下静态链接库的创建和使用

          本文链接:https://www.haomeiwen.com/subject/etysdhtx.html