码迷,mamicode.com
首页 >  
搜索关键字:静态链接 符号解析 重定位    ( 729个结果
2019-2020-1 20175330 《信息安全系统设计基础》第一周学习总结
学习目标 1.熟悉Linux系统下的开发环境 2.熟悉vi的基本操作 3.熟悉gcc编译器的基本原理 4.熟练使用gcc编译器的常用选项 5.熟练使用gdb调试技术 6.熟悉makefile基本原理及语法规范 7.掌握静态库和动态库的生成与调用方法 8.理解C程序中模块的概仿,模块分解的“高内聚,低 ...
分类:其他好文   时间:2019-09-22 23:54:03    阅读次数:188
2019-2020-1 20175329 《信息安全系统设计基础》第1周学习总结
2019 2020 1 20175329 《信息安全系统设计基础》第1周学习总结 教材学习内容总结 程序被其他程序翻译成不同的格式 处理器读并解释存储再内存中的指令 处理器读并解释存储再内存中的指令 运行hello程序 编译器驱动程序 静态链接 静态库连接 教材学习中的问题和解决过程 问题1:无法找 ...
分类:其他好文   时间:2019-09-22 23:40:37    阅读次数:109
C语言编译过程
C语言编译过程 编译 >形成目标代码,目标代码是在目标机器上运行的代码。 连接 >将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序)。 执行 >在特定的机器环境下运行C程序。 如果用一张图来表示: 编译,编译程序读取源程序(字符流),对之进行词 ...
分类:编程语言   时间:2019-09-20 19:04:00    阅读次数:56
mach-o文件格式
Mach-o文件格式:文件头+load commands+各个section 文件头:文件的基本信息,文件类型,cpu信息等 Load commands:相当于段表,描述各个段、符号表、重定位表在文件中的位置 各个section:真正的代码段、数据段、符号表、重定位表所在的区域。 https://l ...
分类:系统相关   时间:2019-09-10 14:50:56    阅读次数:88
最小的可执行文件
在阅读《程序员的自我修养 链接装载与库》的第四章 ==静态链接== 4.6.2==最小的程序==时,发现代码是基于linux32位系统的程序,无法在64位系统上编译和运行。 正确的64位程序应该为 代码 运行结果 原因 linux系统中64位汇编和32位汇编的系统调用主要有以下不同: 系统调用号不同 ...
分类:其他好文   时间:2019-09-09 23:01:11    阅读次数:104
重载内核实现绕过一切钩子
很久不玩PE格式了,这次由于要恢复SSDT表的缘故+一个忽然兴起的念头,导致我花了一个小午写了个运行在Ring0的简单PE加载器,并且有意外的收获。 恢复SSDT表手段很多,基本上都是直接从文件中依赖重定位表获取对应数据,重定位后得到相对当前内核加载位置的正确调用地址。大部分的实现代码比较粗糙,因为 ...
分类:其他好文   时间:2019-09-09 15:05:22    阅读次数:130
Linux之ELF文件初探
对比windowsPE文件与概述 对比windowsPE文件与概述 在windows中可执行文件是pe文件格式,Linux中可执行文件是ELF文件,其文件格式是ELF文件格式,在Linux下的ELF文件除了可执行文件(Excutable File),可重定位目标文件(RellocatableObje ...
分类:系统相关   时间:2019-09-05 23:39:07    阅读次数:144
linux4 动态链接与静态链接
1、有利于软件程序的更新维护,节省内存磁盘空间 2、使得开发的过程中的各个模块更加独立,耦合度小,便于独立进行开发测试 1、 代码装载速度快,执行速度略比动态链接库快; 2、 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问 ...
分类:系统相关   时间:2019-09-02 23:32:19    阅读次数:119
操作系统原理之内存管理(四)
内存管理的?标:实现内存分配和回收,提高内存空间的利用率和内存的访问速度 一、存储器的层次结构 数据存储的局部性原理: 局部性:在?段较短时间内,程序的执?仅限于某个部分,相应地它所访问的存储空间也局限于某个区域 分类: 时间局部性:某条指令?旦执?,不久 后该指令可能再次执? 空间局部性:?旦程序 ...
分类:其他好文   时间:2019-08-31 22:59:01    阅读次数:60
Linux之静态库、共享库
一、静态库和共享库的区别 静态库在编译的时候被加载,而共享库在执行之后才被加载 加载静态库编译所生成的可执行文件比使用共享库的方式要大 静态库以.a为后缀,共享库以.so为后缀 二、静态库的制作 gcc -c add.c sub.c(编写源文件,gcc -c命令生成对应的目标文件add.o和sub. ...
分类:系统相关   时间:2019-08-29 11:09:36    阅读次数:132
729条   上一页 1 ... 6 7 8 9 10 ... 73 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!