自治静态库与共享库

2024-02-28 18:18
文章标签 共享 静态 自治

本文主要是介绍自治静态库与共享库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  在c/c++程序执行中,需要用到各种提前写好的函数或方法,避免程序员每次都费力地编写常用的代码。这里的提前写好的函数的集合就是库文件了。库文件分为两类,静态库和共享库。静态库在每次代码编译时直接加进代码里,作为可执行程序的一部分,以.a来表示。共享库不加入程序中,只在程序运行时调动使用,以.so表示。

  下面分别制作一个简单的静态库和共享库

创建.c文件

 

在当前目录下创建add.c

 

 

 

 

 

 

一步步编译生成.o文件

编译生成add.o

 

 

 

 

 

用ar crv libxx.a xx.o格式的命令生成.a格式的静态库

 

生静e态's库

-c(create)如果不存在则创建,不发出ar警告。

-r(replace)表示当插入add.o已存在同名文件则覆盖。

引用时使用命令 gcc -o file file.c -E. -lxxx命令

-E.表示在当前目录下查找,这里有一个.

-lxxx表示连接该静态库,lib和.a可省略不写

有时会加-static参数表示运行时不需要再次链接

 

 

 

 

共享库

同样需要.o文件

创建并编译生成sub.o

 

 

 

 

 

用.o文件通过命令 gcc xx.o -fPIC -shared  -o libxx.so.xx.xx格式命令生成共享库。

 

 

生成共享库

 

然后将库文件放入/lib或/usr/lib的LD_LIBRARY_PATH中

可以使用命令export LD_LIBRARY_PATH=.:%LD_LIBRARY_PATH

 

 

 

 

这篇关于自治静态库与共享库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/756236

相关文章

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

redis中session会话共享的三种方案

《redis中session会话共享的三种方案》本文探讨了分布式系统中Session共享的三种解决方案,包括粘性会话、Session复制以及基于Redis的集中存储,具有一定的参考价值,感兴趣的可以了... 目录三种解决方案粘性会话(Sticky Sessions)Session复制Redis统一存储Spr

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入