下面我们建立一个动态链接库。回顾上篇文章讲的建立静态链接库,我们把这几个文件丢到一个新的目录下:makefiletiaoshen.cmmc.hxu.c你也可以自己建立新的文件,这里不再赘述。makefile文件中改成all: gcctiaoshen.c-otiaoshen.o-c-fPIC gcc-olibtiaoshen.sotiaoshen.o-shared-F..
分类:
编程语言 时间:
2016-08-16 22:07:26
阅读次数:
171
ELF文件格式是一个开发标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型: 可重定位的目标文件 可执行文件 共享库 现在分析一下上一篇文章中经过汇编之后生成的目标文件max.o和链接之后生成的可执行文件max的格式,从而理解汇编、链接和加载执行的过程。 一、目标文件 ELF文件 ...
分类:
其他好文 时间:
2016-08-13 22:36:02
阅读次数:
293
本篇索引: 1、引言 2、文件描述符 3、open函数 4、close函数 5、read函数 6、write函数 7、lseek函数 8、i/o效率问题 9、内核用以维护打开文件的相关数据结构 10、O_APPEND标志 11、dup函数(文件描述符重定位函数) 12、有关文件共享的问题 13、fc ...
一、程序编译链接的整体流程 通常我们使用gcc来生成可执行程序,命令为:gcc hello.c,默认生成可执行文件a.out 其实编译(包括链接)的命令:gcc hello.c 可分解为如下4个大的步骤: 预处理(Preprocessing) 编译(Compilation) 汇编(Assembly) ...
分类:
其他好文 时间:
2016-08-06 14:20:29
阅读次数:
219
1:BL0BL1BL2分别是什么(1)BL0:s5pv210的iROM中固化的代码作用:初始化系统时钟,设置看门狗,初始化栈,加载BL1(2)BL1:从外部启动介质(nand/SD卡)中加载的uboot.bin的前16K代码作用:初始化RAM,关闭Cache,初始化DDR,设置栈,加载BL2(3)BL2:是指在代码完成重定位..
分类:
其他好文 时间:
2016-08-04 19:49:15
阅读次数:
190
转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲: .o,是目标文件,相当于windows中的.obj文件 .so 为共享库,是shared object,用 ...
分类:
系统相关 时间:
2016-08-02 15:01:45
阅读次数:
349
静态链接库与动态链接库都是共享代码的方式。如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的.ExE文件中了。但是若使用动态链接库,该动态链接库则不必被包含在最终的EXE文件中,EXE文件执行时可以“动态”的引用和卸载这个与EXE独立的动态链接库文件。静态链接库和动态链接库 ...
分类:
其他好文 时间:
2016-08-02 13:43:47
阅读次数:
206
重定位和链接脚本 (1)重定位:分为静态重定位和动态重定位 静态重定位:静态重定位是在程序执行之前进行重定位,它根据装配模块将要装入的内存起始位置,直接修改装配模块中的有关使用地址的指令 我们下面要分析就是静态重定位的情况。 动态重定位:动态重定位是指,不是在程序执行之前而是在程序执行过程中进行地址 ...
分类:
其他好文 时间:
2016-08-01 22:29:05
阅读次数:
118
第一部分、章节目录2.5.1.start.S引入2.5.2.start.S解析12.5.3.start.S解析22.5.4.start.S解析32.5.5.start.S解析42.5.6.start.S解析52.5.7.start.S解析62.5.8.start.S解析72.5.9.uboot重定位详解2.5.10.start.S解析82.5.11.start.S解析92.5.12.start.S解析102.5.13.start.S解..
分类:
其他好文 时间:
2016-07-31 22:29:30
阅读次数:
214
问题:之前建了一个SVN代码库,同步了代码上去,但中途发现建库时的规则搞错了,就把服务器上的库给删了重建,然后改变本地代码的svn服务器关联地址,但使用Relocate一直报错。 错误有两种情况:1.提示新的地址不是同一个根目录;2.提示uuid不同。 在网上找了好多办法解决重定位问题依然不行,于是... ...
分类:
其他好文 时间:
2016-07-30 11:59:02
阅读次数:
240