当前位置: 首页 > news >正文

软硬链接与动静态库基本概念(快速回顾)

一.软硬链接

1.软硬链接的概念

   硬链接

在linux上,多个不同名称的文件名可以对应一个相同的inode,这种情况叫做硬链接。

   软链接

而软链接是给文件形成一个inode不同的文件,但不包含数据内容,而是存储了所链接文件的地址路径信息,像是一个“指针”。类似于应用的快捷方式

2.创建软硬链接指令

    硬链接

ln abc def

    软链接

ln -s abc.s abc

3.软硬链接区别

软链接软链接与目标文件inode不同相当于对目标文件找了个快捷方式删除目标文件软链接会变无效
硬链接硬链接与目标文件inode相同相当于对目标文件重新定义了一个不同名称的文件删除目标文件硬链接不会变无效

二.动静态库

1.库是什么

库是写好的现有的,成熟的,可以复⽤的代码

后缀windowslinux
动态库.dll.so
静态库.lib.a


2.静态库的创建方式

ar -rc libmath.a add.o sub.o

将.o文件创建成静态库

3.静态库使用

gcc main.c -I头⽂件路径 -L库⽂件路径 -lmath
-L指定库路径
-I指定头文件搜索路径
-l指定库名

4.动态库创建

gcc -fPIC -c add.c sub.c

先用fPIC生成.o文件

gcc -shared -o libmath.so add.o sub.o

后生成.so动态库

5.动态库使用

gcc main.c -I头⽂件路径 -L库⽂件路径 -lmath

动态库链接时需要让系统找到动态库,否则链接不成功,可用一下方式

1.直接将.so复制到 lib64中

2.进行软链接在lib64创建快捷方式找到.so

3.echo $LD -LIBARARY _PATHC 配置环境变量

4./ etc/ld.so.conf.d/ 将动态库地址粘贴进去 后 使 ldconfig重新加载

注意:当动态库静态库同时存在时gcc/g++默认使用动态库  如果想要链接静态库需要加上-static

http://www.xdnf.cn/news/22051.html

相关文章:

  • 浅析数据库面试问题
  • `get_peft_model` 是 `peft` 库什么方法
  • 【CPP】死锁产生、排查、避免
  • 国内主要半导体厂家
  • Java 接入deepseek(非流式)
  • 数据资产登记导则详解 | 企业如何规范化登记与管理数据资产?
  • 机械臂速成小指南(二十五):机械臂与人工智能的有机结合
  • 基于 S2SH 架构的企业车辆管理系统:设计、实现与应用
  • OOM 未触发 JVM 崩溃的可能原因
  • 椰汁椰肉生产车间设计
  • 怎么隐藏QTabWidget内的页面
  • Git 解决“Filename too long”问题
  • 企业应用大模型报告:如何应对变革,构建专属“我的AI”
  • 生物化学笔记:医学免疫学原理22 肿瘤及肿瘤治疗
  • vue3+vite 实现.env全局配置
  • 大模型时代:AI应用的变革与挑战
  • 冰箱在储存各种疫苗时要经过多少道程序又会面临哪些风险?
  • linux获取cpu使用率(sy%+us%)
  • 文件二进制读写和文本读写以及编码解码
  • Android 12系统静态壁纸深度定制指南
  • day2-小白学习JAVA---java第一个程序
  • 电力资源配置逐步从计划模式转向市场驱动
  • 内存函数和动态内存管理
  • leetcode刷题日记——同构字符串
  • 北京SMT贴片厂精密制造关键工艺
  • MySQL触发器和函数的详细示例
  • FairMOT算法详解
  • 【AI学习】OpenAI:《A practical guide to building agents》(中文介绍与原文)
  • 关于嵌入式系统的知识课堂(二)
  • Unity粒子特效打包后不显示