• linux c创建静态库(.a)


    静态库,也称作归档文件(archive),按惯例它们的文件是以.a结尾。

    1.创建 sumadd.c文件

    #include <stdio.h>

    int sumadd(int a,int b)
    {
        return a+b;
    }

    创建 sumsub.c文件

    #include <stdio.h>

    int sumsub(int c,int d)
    {
        return c-d;
    }

    编译两个文件

    $gcc -c  sumadd.c sumsub.c 会产生sumadd.o  sumsub.o 两个目标模块

    2.创建program.c 调用代码

    #include <stdio.h>

    int main ()
    {

       int x = 0;

       int y = 0;

       x = sumadd(1,2);

       y = sumsub(2,1);

        printf("1+2=%d,2-1= %d ",x,y);

       return 1;

    }

    编译,链接

    $gcc -c program.c

    $gcc -o program program.o sumadd.o sumsub.o

    $./program 

    1+2=3,2-1=1

    3.生成静态库.a

    $ar crv libtestsum.a sumadd.o sumsub.o

    最终生成静态库 libtestsum.a

    静态库的一个缺点是,当你同时运行程序并且它们都使用来自同一函数库时,内存中就会有同一函数的多份副本,而且在程序文自身中也有多份同样的副本。这将消耗大量宝贵的内存和磁盘空间。

  • 相关阅读:
    nginx反向代理
    遇到的好玩的mvc路由
    有意思的OWIN,附脱离iis的webapi
    nginx转发配置
    SQL 2016安装中遇到的问题
    3级级联 国家--城市
    box.css
    common.css
    节假日设置
    Order_Leave.aspx
  • 原文地址:https://www.cnblogs.com/yangxuming/p/7189910.html
Copyright © 2020-2023  润新知