一面直接跪,日 1. 重写和重载的区别 2. C++内存有哪些模块 3. TCP和UDP区别 4. epoll与select区别 5. 多线程与多进程区别 6. 常用数据库第几范式 7. 动态链接库和静态链接库的区别 8. netstat命令 我跟他说netstat已经被弃用了,被ip ss rou ...
分类:
编程语言 时间:
2016-09-02 22:01:28
阅读次数:
266
最简单的bootloader的编写步骤: 1. 初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH2. 如果bootloader比较大,要把它重定位到SDRAM3. 把内核从NAND FLASH读到SDRAM4. 设置"要传给内核的参数"5. 跳转执行内核 改进:1. 提高C ...
分类:
其他好文 时间:
2016-09-02 20:25:19
阅读次数:
118
程序的装入为了阐述上的方便,我们先介绍一个无需进行链接的单个目标模块的装入过程。该目标模块也就是装入模块。在将一个装入模块装入内存时,可以有绝对装入方式、可重定位装入方式和动态运行时装入方式,下面分别简述之。第四章 存 储 器 管 理 ·119·1.绝对装入方式(Absolute Loading M ...
分类:
其他好文 时间:
2016-08-30 18:10:03
阅读次数:
191
汇编器构造 一、 汇编器简介 前面介绍了编译器构造和静态链接器构造的具体方法,而且我们实现了一个将高级语言转化为汇编语言的编译器,同时又实现了一个将多个目标文件链接为一个可执行文件的链接器。现在需要一个连接这两个模块的功能模块——汇编器,它能将一个单独的汇编文件转换为一个可重定位目标文件,如图1-1 ...
分类:
其他好文 时间:
2016-08-27 06:24:46
阅读次数:
179
1 库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程 ...
分类:
其他好文 时间:
2016-08-24 13:03:52
阅读次数:
147
1、unix下文件可分为:目录文件,设备文件,普通文件,管道文件,符号链接文件,socket文件 2、-l 静态链接库的名称 -L静态链接库的目录 -I头文件目录 g++ a.cpp -o a -L -l -I 3 4、gdb调试 list break xline run n往下执行一条 不进入函数 ...
分类:
其他好文 时间:
2016-08-24 12:36:03
阅读次数:
102
动态链接和静态链接的区别 一、分别编译与链接(Linking) 大多数高级语言都支持分别编译,程序员可以显式地把程序划分为独立的模块或文件,然后每个独立部分分别编译。在编译之后,由链接器把这些独立的片段(称为编译单元)“粘接到一起”。(想想这样做有什么好处?) 在C/C++中,这些独立的编译单元包括 ...
分类:
其他好文 时间:
2016-08-21 21:14:19
阅读次数:
114
先贴两个图 32位文件 64位文件 此文为静态分析ELF文件结构,遍历其中Elf_Ehdr文件头信息,遍历Elf_Shdr节表头信息,并将所有节放置在左侧树控件上,遍历Elf_Phdr程序头也放置在左侧树控件上,并着重分析字符串表,重定位表,符号表。遍历表头的使用使用map将节表信息对应字符串存入, ...
分类:
其他好文 时间:
2016-08-21 12:23:13
阅读次数:
116
源代码如下: typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD TypeOffset[1]; } IMAGE_BASE_RELOCATION; typedef IMAGE_... ...
分类:
其他好文 时间:
2016-08-17 11:48:06
阅读次数:
304
下面说一下建立静态链接库的方法各个C语言编程软件都有它的方法,比如建立一个工程来共享文件,这就比较容易和简单了,现在我们选择使用难一点的linux系统,探究在linux系统下的建立静态链接库的方法。首先,在linux系统我们在一个文件夹目录里面来建立一个.h头文件和一个.c文..
分类:
编程语言 时间:
2016-08-16 22:15:51
阅读次数:
194