码迷,mamicode.com
首页 >  
搜索关键字:静态链接 符号解析 重定位    ( 729个结果
存储类别和类型限定词
存储类别五种类别:自动,寄存器,具有代码块作用域的静态,具有外部链接的静态,具有内部链接的静态。链接:外部链接:文件作用域的变量。内部链接:static修饰的具有文件作用域的变量有内部链接),空链接:具有代码块作用域或者函数原型作用域的变量具有空链接局部变量:函数内定义,函数内可见; 全局变量(.....
分类:其他好文   时间:2014-09-30 12:16:49    阅读次数:363
动态链接
静态链接虽然解决了一下问题 但是仍旧有很多缺点。比如浪费内存和磁盘空间,模块更新也比较困难。最主要的是 我们正常一个c语言程序 要使用诸如printf strlen 等等之类c语言库的代码。一个c语言程序要使用1mb的内存来使用它。如果有100个程序的话 就是100mb的内存。这是无法忍受的。因为内...
分类:其他好文   时间:2014-09-29 14:17:00    阅读次数:208
静态链接库与动态链接库
静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。静态链接库与动态链接库都是共享代...
分类:其他好文   时间:2014-09-21 13:10:30    阅读次数:201
lib 和 dll 的区别、生成以及使用详解
首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直...
分类:其他好文   时间:2014-09-20 11:03:07    阅读次数:183
Linux 可执行文件 ELF结构 及程序加载运行
Linux下ELF文件类型分为以下几种:    1、可重定位文件,例如SimpleSection.o;    2、可执行文件,例如/bin/bash;    3、共享目标文件,例如/lib/libc.so。    在Linux 可重定位文件 ELF结构一文中,我们已经分析了可重定位文件ELF结构。本文分析可执行文件的ELF结构。    首先附上源代码:#include int main() {...
分类:系统相关   时间:2014-09-18 14:50:44    阅读次数:356
浅析静态库链接原理
静态库的链接基本上同链接目标文件.obj/.o相同,但也有些不同的地方。本文简要描述linux下静态库在链接过程中的一些细节。 静态库文件格式 静态库远远不同于动态库,不涉及到符号重定位之类的问题。静态库本质上只是将一堆目标文件进行打包而已。静态库没有标准,不同的linux下都会有些细微的差别。大致的格式wiki上描述的较清楚: Global header -----------------...
分类:其他好文   时间:2014-09-15 22:50:59    阅读次数:351
韦东山yy公开课笔记(2)--汇编,段,栈,重定位/链接地址,位置无关吗
1. 要不要学习汇编可以只懂一点,工作中基本不用,一旦用就是出了大问题ldr : load 读内存ldr r0, [r1]: r1里存放的是地址值, 去这个地址读取4字节的内容,存入r0str : stroe 写内存str r0, [r1]: r1里存放的是地址值, 把r0里的4字节数据存入这个地址...
分类:其他好文   时间:2014-09-15 14:16:18    阅读次数:189
在VS2012下静态链接MFC的问题
1>------已启动生成:项目:MFCApplication1,配置:DebugWin32------1>uafxcwd.lib(afxctrlcontainer2.obj):errorLNK2005:"void__cdeclAfxRegisterMFCCtrlClasses(void)"(?Af...
分类:其他好文   时间:2014-09-13 02:59:24    阅读次数:228
gcc -static hello.c 背后究竟发生了什么
大家可能经常使用gcc -static ***.c,那么这个静态链接究竟使用了什么命令,又链接了哪些库呢?    我们首先来分析libc.a是个什么文件。我们已经知道了xxx.so是动态链接库,xxx.o是静态链接库或者说可重定位文件,/bin/bash为可执行文件。    libc.a其实是很多可重定位文件的集合,而且每个可重定位文件中一般都只写一个函数。例如printf.o只有printf一个...
分类:其他好文   时间:2014-09-10 17:45:40    阅读次数:236
从二进制代码来看静态链接本质
静态链接大家并不陌生,本文将从二进制代码来分析静态链接的本质。    首先列出将要静态的链接的两个源文件,它们分别是a.c和b.c,最后链接成功的文件为ab。    a.c代码如下:extern int shared; extern void swap(int * ,int *); int main(){ int a = 100; swap( &a, &shared ); }    b.c代...
分类:其他好文   时间:2014-09-10 10:55:50    阅读次数:254
729条   上一页 1 ... 63 64 65 66 67 ... 73 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!