C++附加---静态库和动态库的创建与使用(linux下实现)
创始人
2025-06-01 19:47:46
0

一、静态库的概念

①概念:静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。
②特点:

静态库链接之后,静态库改变,对程序不再产生影响,移植方便
浪费空间与资源

二、动态库的概念

①概念:动态库链接时不复制,程序运行时由系统动态加载到内存,供程序调用。而且系统只加载一次,可以被多个程序共用。
②特点:
动态函数库在编译的时候并没有被编译进目标代码中,需要用到相应的功能,代码才会被调用到程序中,节约内存
动态库的改变,程序也会跟着动态变化,升级更新比较方便

linux下创建动态链接库

helloworld.h

#ifndef __HEPPLWPRLD_H__
#define __HEPPLWPRLD_H__void hello();#endif

helloworld.cpp

#include 
#include "helloworld.h"
void hello(){std::cout<<"helloworld"<

#include"helloworld.h"
int main(){
hello();
}

g++ -Wall -g -fPIC -c helloworld.cpp -o helloworld.o
g++ -shared helloworld.o -o libhelloworld.so	
g++ -Wall -o main.o -c main.cpp
g++ -o main main.o -L/root/git/gitsinet/shared/ -lhelloworld

值得注意的是要执行export 添加环境变量,不然操作系统会找不到链接库(自行踩坑,久病成医)
ldd 查看程序依赖的链接库
/etc/ld.so.conf 是linux 查找so库位置的环境变量配置文件,修改后ldconfig刷新配置

相关内容

热门资讯

数字成语接龙 数字成语接龙精选  一尘不染 二龙戏珠 三生有幸 四分五裂 五光十色 六神无主 七嘴八舌 八面威风 ...
“铁钉铁铆”的意思 “铁钉铁铆”的意思 成语拼音: [tiě dīng tiě mǎo] ...
“情之所钟”的意思 “情之所钟”的意思 成语拼音: [qíng zhī suǒ zhōng] ...
“谦受益,满招损”的意思 “谦受益,满招损”的意思 成语拼音: [qiān shòu yì,mǎn zhāo sǔ...
“强唇劣嘴”的意思 “强唇劣嘴”的意思 成语拼音: [qiáng chún liè zuǐ] ...
“人云亦云”的意思 “人云亦云”的意思 成语拼音: [rén yún yì yún] ...
“变化无方”的意思 “变化无方”的意思 成语拼音: [biàn huà wú fāng] ...
“细高挑儿”的意思 “细高挑儿”的意思 成语拼音: [xì gāo tiǎo ér] ...
“分鞋破镜”的意思 “分鞋破镜”的意思 成语拼音: [fēn xié pò jìng] ...
“幺幺小丑”的意思 “幺幺小丑”的意思 成语拼音: [yāo mó xiǎo chǒu] ...
“谋臣武将”的意思 “谋臣武将”的意思 成语拼音: [móu chén wǔ jiàng] ...
“攒三集五”的意思 “攒三集五”的意思 成语拼音: [zǎn sān jí wǔ] ...
“虎视鹰瞵”的意思 “虎视鹰瞵”的意思 成语拼音: [hǔ shì yīng lín] ...
“逾淮为枳”的意思 “逾淮为枳”的意思 成语拼音: [yú huái wéi zhǐ] ...
“鸣珂锵玉”的意思 “鸣珂锵玉”的意思 成语拼音: [míng kē qiāng yù] ...
寻人启事 寻人启事范文(通用8篇)  寻人启事,汉语词语,发布寻人启事寻人,是失踪者及其亲友间相互寻找的一种基...
“乌合之卒”的意思 “乌合之卒”的意思 成语拼音: [wū hé zhī zú] ...
入木三分成语解释 入木三分成语解释  入木三分,是汉语的一则成语,出自唐·张怀瓘《书断·王羲之》。下面是小编为大家整理...
“逾闲荡检”的意思 “逾闲荡检”的意思 成语拼音: [yú xián dàng jiǎn] ...
形容勇敢的词语 形容勇敢的词语大全  词语,是词和短语的合称,包括词(含单词、合成词)和词组(又称短语),组成语句文...