
Linux相关
liqinzhe223
这个作者很懒,什么都没留下…
展开
-
Linux 下 C/C++ 静态库、动态库的区别
linuxLinux下的库必须以lib开头,用于系统识别静态库 后缀 .a 每次被调用都生成一个副本共享库(动态库) 后缀.so 只有一个副本windows静态库 后缀 .lib动态库 后缀.dll静态库的生成和使用通常情况下,对函数库的链接是放在编译时期(compile time)完成原创 2017-09-12 21:35:38 · 807 阅读 · 0 评论 -
虚拟内存
小结:虚拟内存 VM:是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互。虚拟内存是对主存的一个抽象。支持虚拟内存的处理器通过使用一种叫做虚拟寻址的间接形式来引用主存。处理器产生一个虚拟地址,在呗发送到主存之前,会被翻译成一个物理地址,这个地址翻译需要硬件和软件结合。专门的硬件通过使用页表来翻译虚拟地址,而页表的内容是由操作系统提供的。原创 2017-10-09 09:58:57 · 568 阅读 · 0 评论 -
异常控制流
控制流 分为平滑的控制流(相邻的地址跳转) 和 跳转、调用、返回(控制流突变)突变控制流称为 异常控制流(ECF)异常异常就是控制流中状态的突变,处理器检测到事件发生时,会通过一张 异常表 的跳转表,间接调用异常处理程序。处理完之后,有三种可能性:1、将控制返回当前指令,即事件发生时正在执行的指令2、将控制返回给如果没有发原创 2017-10-04 10:32:44 · 276 阅读 · 0 评论 -
c/c++ 链接、链接器
链接链接:将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存中。编译器作用: .c -> .i -> .s -> .o可重定位目标文件(.o):包含二进制代码和数据,可和其他可重定位目标文件合成 可执行文件。可重定位目标模块里面有一个符号表,包含定义和引用的符号的信息原创 2017-09-22 09:36:32 · 1780 阅读 · 0 评论 -
[问题解决] multiple definition of `***'
make发现问题如下:我是把 pthread_mutex_t VT_Mutex; 这一句写在 init.h 里面。解决办法:把 pthread_mutex_t VT_Mutex; 写在init.c 里面,init.c include init.h在init.h 里面写 extern pthread_mutex_t VT_Mutex;原创 2017-11-20 11:27:14 · 8820 阅读 · 1 评论