首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux】库制作与原理

    库有两种: 静态库 .a[Linux]、.lib[windows] 动态库 .so[Linux]、.dll[windows] 2.静态库 静态库(.a):程序在编译链接的时候把库的代码链接到可执...在Linux下,我们之前也了解过如何通过gcc编译器来完成这⼀系列操作。 接下来我们深⼊探讨⼀下编译和链接的整个过程,来更好的理解动静态库的使⽤原理。 先来回顾下什么是编译呢?...动态链接器: 动态链接器(如ld-linux.so)负责在程序运⾏时加载动态库。 当程序启动时,动态链接器会解析程序中的动态库依赖,并加载这些库到内存中。...环境变量和配置⽂件: Linux系统通过环境变量(如LD_LIBRARY_PATH)和配置⽂件(如/etc/ld.so.conf及其⼦配置 ⽂件)来指定动态库的搜索路径。...缓存⽂件: 为了提⾼动态库的加载效率,Linux系统会维护⼀个名为/etc/ld.so.cache的缓存⽂件。

    29410

    库的制作 与 使用 (Linux下)

    动静态库的制作 前置知识 要学会制作动态库,必须要有软硬链接知识的基础,大家可以移步至该文章:软链接和硬链接的详解 (Linux系统下)-CSDN博客 库的基本构造 问题 问题: 我们都知道代码有源文件...*.so output/lib ​ .PHONY:clean clean: rm -f *.o *.a *.so 现在我们的库就可以拿给别人去使用啦(还没有完哦) 库的使用 我们直接将刚刚制作的...output文件夹给用户使用就好啦~~~ 自己制作的库的使用有三种办法 放进系统查找库函数的路径下(静态库) 导入环境变量(动态库) 放入/etc/ld.so.conf.d/的配置文件中...不需要带上该动态库文件名 (´▽`ʃ♡ƪ) 弊端 xshell退出后这个环境变量中就没有我们加的路径了,因为这是内存级环境变量,所以这种方法不适用于长期使用的库 法三:放入配置文件 这种方法是推荐的,Linux

    37110

    Linux下库文件制作方法详解

    大家好,继上节Linux库详解>,这节我们继续讲解如何在Linux系统上创建我们需要的库文件 在创建程序库之前,需要先来了解GCC的一些参数,因为静态库和共享库需要GCC工具产生,并且两者的GCC参数不同...目标文件需要创建成位置无关码,概念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方 -shared 生成动态链接库 我们编写两个函数并将文件制作成库文件,用下面相同的代码分别制作静态库和共享库...Test.h" int add(int a, int b) { return (a+b); } int sub(int a, int b) { return (a - b); } 制作静态库...2.设置环境变量,假设libTest.so在/home/ubuntu/workspace_ex/lib/static目录下 export LD_LIBRARY_PATH=/home/linux/addsub...下制作静态库、共享库、以及动态加载库,希望通过此文对你在Linux库的认识有所帮助,那么目的就达到了

    2.6K30
    领券