- 博客(7)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 C语言 共享库的动态加载
文章目录动态加载C动态加载函数动态加载共享库例子动态加载共享库的加载分静态加载和动态加载。直接使用gcc编译器加载的共享库的方式叫静态加载,而通过程序代码加载共享库的方式称为共享库的动态加载。什么时候采用共享库的动态加载方式呢?比如需要通过程序判断A条件下,加载A共享库,B条件下加载B共享库,或者条件未达到的情况下加载默认库。这种需求,可以不通过gcc编译器,而通过代码来实现动态加载。C动态加载函数C提供了dl库来实现共享库的动态加载。在C代码文件中加入#include <dlfcn.h&
2020-08-31 00:28:09 1863 1
原创 C语言 共享库(动态库)制作
文章目录共享库简介共享库制作代码实现创建共享库链接使用共享库小结共享库简介共享库的本质就是将多个目标文件打包成一个文件。链接共享库就是在可执行文件中调用共享库中函数的指令处插入一些指令,在运行时通过执行这些指令来完成加载共享库以及计算出所调函数入口地址的动作。使用共享库的可执行文件占用磁盘和内存相对于静态库要小。共享库中的代码一旦被修改,只要函数接口不变,无需重新链接。使用共享库的可执行文件在运行时,需要依赖共享库。一旦共享库被删除,则可执行文件无法运行。共享库的文件形式为:lib<库名>
2020-08-30 21:40:56 3043 1
原创 C语言 静态库制作
静态库的本质就是将多个目标文件打包成一个库文件。链接静态库就是讲库中被调用代码复制到可执行文件中。使用了静态库的可执行文件占用磁盘空间和内容空间都比较大,静态库中代码被修改后,需重新生成库文件并重新链接库文件。使用静态库的可执行文件无需依赖静态库,静态库及时被删除,也可照常运行。执行效率比动态库相对要高。静态库的文件形式为:lib.a
2020-08-30 02:11:49 4503 4
原创 C语言 环境变量配置
环境变量环境变量描述C_INCLUDE_PATH指定头文件的附加搜索路径,相当于gcc的 -I 选项C_PATH指定头文件的附加搜索路径,相当于gcc的 -I 选项LIBRARY_PATH指定库文件的附加搜索路径,相当于gcc的 -L 选项LD_LIBRARY_PATH指定加载共享库的搜索路径配置对于linux来说,在用户目录下的.bash_profile文件在用户每次登录时都会执行该文件,我们需要在.bash_profile文件中使用export来在
2020-08-27 21:29:57 4431
原创 C语言 预定义宏
预定义宏描述BASE_FILE正在被编译的源文件名FILE宏所在的文件名LINE宏所在的(逻辑)行号FUNCTION宏所在的函数名func宏所在的函数名,和__FUNCTION__一样DATE宏被预处理器扩展的日期TIME宏被预处理器扩展的时间INCLUDE_LEVEL宏所在文件的包含层数,从0开始__cplusplus只有在C++预处理中有定义,在C预处理中无此定义,可将此定义有无用于判断是否为C++编译器编译...
2020-08-27 02:30:53 916
原创 linux挂载hfsplus文件系统 mount: unknown filesystem type ‘hfsplus’
手里有个移动硬盘,插到机器上面并挂载的时候报xxx解决方案如下:需要安装kmod-hfsplus,这个软件在elrepo源,所以需要先安装elrepo。rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org如果是sentos8则安装yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm如果是sentos7则安装yum install http
2020-08-17 20:55:59 2245 1
原创 linux MacOS 批量重命名文件
要重命名文件,首先需要知道重命名哪些文件,find命令可以解决这个问题。find命令找到了需要重命名的文件之后,如何重命名,rename命令可以解决这个问题。两个命令通过管道组合一下就好啦。如果没有rename命令就需要安装一下。linux:yum install rename。mac:brew install rename。举个例子:当前目录下有n个bmp文件a1.bmpa2.bmpa3.bmp…现在需要把a*.bmp文件统一改成a*_.bmp,即:a1_.bmpa2_.bmpa
2020-08-07 02:02:13 522
springloaded-1.2.4.RELEASE.jar
2016-02-18
maven3.0.3
2015-07-19
myeclipse2014的SVN插件site-1.8.7.rar
2015-05-31
jd-gui.exe 一个好用的java反编译程序
2015-04-23
FreeMarker_Manual_zh_CN.pdf一个很好用的pdf手册
2015-04-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人