zoukankan      html  css  js  c++  java
  • 库的创建和使用

    动态库

    创建动态库:
    -shared 指明生成动态库

    gcc -shared hello.c -o libhello.so
    

    编译:
    -L. 表示需要的动态库从当前目录寻找

    gcc main.c -lhello -L. -o main
    

    运行:
    运行前需要把libhello.so复制到$PATH中,这里有两种选择
    a.把库文件复制到查找路径中 cp libhello.so /usr/lib/
    b.把当前路径添加到查找路径中 export LD_LIBRARY_PATH=.:LD_LIBRARY_PATH
    完成上述的任一步骤后,即可运行./main

    总结:
    动态库命名习惯:lib[名字].so,libm.so,libpthread.so
    编译选项:gcc编译时加-l[名字], gcc -lm, gcc -lpthread
    例如涉及线程的程序编译时要用到libpthread.so这个库,则编译时为gcc main.c -o main -lpthread

    静态库

    创建静态库:

    gcc -c hello.c //生成hello.o
    ar -r libhello.a hello.o //ar类似tar,把中间代码归档
    

    编译:

    gcc main.c libhello.a -L. -o main
    

    运行: ./main

  • 相关阅读:
    Session cookie 原理
    asp.net core service mesh
    js 常用库
    asp.net core consul
    asp.net core polly
    asp.net core ocelot
    第十五章 享元模式 Flyweight
    第十四章 策略模式 Strategy
    mysql 主从复制
    mysql 执行计划
  • 原文地址:https://www.cnblogs.com/cfans1993/p/6404036.html
Copyright © 2011-2022 走看看