![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 59
走上不归路
不要在意他人的看法,做自己认为有意义的事
展开
-
linux学习---内存管理(虚拟内存的分配与释放)
linux学习—内存管理(虚拟内存的分配与释放)sbrk函数【 #include <unistd.h>void* sbrk(intptr_t increment);功能:以相对方式分配和释放虚拟内存参数:increment 堆内存的字节增量(以字节为单位)>0 - 分配内存<0 - 释放内存=0 - 当前堆尾返回值:成功返回调用该函数前的堆尾指针,失败返回-1。】系统内部维护了一个指针,指向当前尾椎,即堆区最后一个字节的下一个位置,sbrk函数根据增量参数调原创 2021-03-23 11:19:06 · 560 阅读 · 1 评论 -
linux学习---动态库的构建和动态加载
一、什么是动态库?1、动态库和静态库不同,链接动态库不需要将被调用的函数代码复制到包含调用代码的可执行文件中,相反链接器会在调用语句处嵌入一段指令,在该程序执行到这段指令时,会加载该动态库并寻找被调用函数的入口地址并执行之。2、如果动态库中的代码同时为多个进程所用,动态库在内存的实例仅需一份,为所有使用该库的进程所共享,因此动态库亦称共享库。3、动态库的拓展名是 .so 例libxxx.so。二、动态库的构建顺序以及编译动态库A. 编辑库的实现代码和接口声明– 计算模块:calc.h、cal原创 2021-02-01 12:59:24 · 403 阅读 · 0 评论 -
Linux学习一:创建静态库以及静态库链接,并执行a.out文件
创建静态库以及静态库链接,执行main什么是静态库?1、静态库的本质就是将目标文件打包成一个文件。2、链接静态库就是将库中被调用的代码复制到调用模块中。3、静态库的扩展名是.a 例:libxxx.a静态库的构建:A.编辑库的实现代码和接口声明。–计算模块:calc.h、calc.c–显示模块:show.h、show.c–接口文件:math.hB、编译成目标文件命令:gcc -c calc.cgcc -c show.c生成.o文件...原创 2021-02-01 11:43:21 · 1736 阅读 · 0 评论