嵌入式LinuxC语言(十一)——静态库函数和动态库函数一、静态链接库静态链接库是obj文件的一个集合,通常静态链接库以".a"为后缀,名字格式一般为libxxx.a,由程序ar生成。静态链接库是在程序编译过程中链接的,已经将调用的相关函数拷贝到程序内部,程序运行时和静态链接库已..
分类:
编程语言 时间:
2016-06-19 01:29:09
阅读次数:
177
转:http://blog.csdn.net/galaxy_li/article/details/7411956 1:神马是Dll和Lib,神马是静态链接和动态链接 大家都懂的,DLL就是动态链接库,LIB是静态链接库。DLL其实就是EXE,只不过没main。 动态链接是相对于静态链接而言的。所谓静 ...
分类:
其他好文 时间:
2016-06-14 16:02:17
阅读次数:
141
=======
日期
内核版本
架构
作者
GitHub
CSDN 2016-06-04
Linux-4.5
X86 & arm
gatieme
LinuxDeviceDrivers
Linux进程管理与调度-之-进程的描述
对象文件格式对象文件首先,你需要知道的是所谓对象文件(Object files)有三个种类:
可重定位的对象文件(Relocat...
分类:
系统相关 时间:
2016-06-12 02:35:56
阅读次数:
785
静态链接 由链接器在链接时将库的内容直接加入到可执行程序中 Linux下静态链接库的创建和使用 -编译静态库源码 动态链接:可执行程序在运行时才动态加载库进行链接 库的内容不会进入可执行程序当中 ...
分类:
编程语言 时间:
2016-06-08 10:23:56
阅读次数:
130
嵌入式Linux裸机开发(四)——重定位relocate一、位置有关编码汇编源文件被编译成二进制可执行程序时编码方式可能与内存地址有关,也可能与内存地址无关。与内存地址有关的为位置有关编码,与内存地址无关的为位置无关编码。程序在设计时需要规划一个程序运行时的地址(链接地..
分类:
系统相关 时间:
2016-06-06 17:17:45
阅读次数:
357
函数库一般分为静态库和动态库两种。 静态库: 是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后缀名一般为”.a”。 动态库: 与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以 ...
分类:
其他好文 时间:
2016-06-03 22:41:07
阅读次数:
280
ELF文件格式分析 基本知识: 1.ELF文件的三种类型: l 可重定位: 编译器和汇编器创建 运行前需要被链接器处理 l 可执行 完成了所有重定位工作和符号解析 除了运行时解析的共享库符号 l 共享库 链接器需要的符号信息 运行时可以直接执行的代码 2.ELF文件的两个视角: 3.可重定位目标文件 ...
分类:
其他好文 时间:
2016-06-02 13:25:19
阅读次数:
132
本文把makefile 分成了三份:生成可执行文件的makefile,生成静态链接库的makefile,生成动态链接库的makefile。 这些makefile都很简单,一般都是一看就会用,用法也很容易,只需要把它们拷贝到你的代码的同一目录下,然后就可以用 make 来生成目标文件了。 下面是三个m ...
分类:
其他好文 时间:
2016-06-02 13:07:28
阅读次数:
127
分析ELF文件: 首先编写一个.c文件,并使用gcc -c xx.c -o xx.o 对其进行编译。 我在这个实践中是ELF_1.o文件。 接下来输入ls -l ELF_1.o 查看重定位文件的信息。 接下来以十六进制来查看该文件信息。输入:hexdump -x ELF_1.o 显示信息的最左一列表 ...
分类:
其他好文 时间:
2016-06-01 22:49:07
阅读次数:
192
传送门http://bbs.pediy.com/showthread.php?t=206804 壳的流程看上去并不复杂,但需要的是你对PE文件有一定的了解,在了解了一些关于导入表、导出表、重定位表、IAT等基础知识以后方可写出一个具有基本功能的壳。但如果想要写一个加密、压缩或者兼容性很强的壳的话,绝 ...
分类:
编程语言 时间:
2016-05-28 15:45:45
阅读次数:
290