Linux系统编程
灵动代码~
这个作者很懒,什么都没留下…
展开
-
GDB调试精粹及使用实例
一:列文件清单1. List(gdb) list line1,line2二:执行程序要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使用原创 2013-08-29 14:33:05 · 492 阅读 · 0 评论 -
linux .so文件详解
linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库,是好多个.o合在一起,用于静态连接.la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式 $file *.la原创 2013-08-29 14:32:43 · 1344 阅读 · 0 评论 -
linux静态库和动态库分析
1.什么是库 在windows平台和linux平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于windows和linux的本质不同,因此二者库的二进制是不兼容的。 本文仅限于介绍linux下的库。 2.库的种类 linux下的库有两种:静态库和共享库(动态库)。 二者的不同点在于代码被载入的时刻不同。 静态库的代码原创 2013-08-29 14:32:02 · 564 阅读 · 0 评论 -
动态库与静态库的原理介绍
在UNIX的应用开发中,静态库和动态库都是我们经常用到的技术,有必要对这两个概念及其原理做一些介绍。静态库静态库是一些目标文件的集合,通常为后缀为.o 的文件,通过ar 工具打包而成,命名格式为libxxx.a ,其中xxx 为给定的静态库文件名,如libm.a,为数学函数库,用户也可以命名自己的库。在创建可执行程序的过程中,静态库同时被链接到程序代码,被主程序调用的函数目标文件连同主原创 2013-08-29 14:32:50 · 652 阅读 · 0 评论 -
Linux下的exec系统调用详解
1.系统调用exec是以新的进程去代替原来的进程,但进程的PID保持不变。因此,可以这样认为,exec系统调用并没有创建新的进程,只是替换了原来进程上下文的内容。原进程的代码段,数据段,堆栈段被新的进程所代替。一个进程主要包括以下几个方面的内容:(1)一个可以执行的程序(2) 与进程相关联的全部数据(包括变量,内存,缓冲区)(3)程序上下文(程序计数器PC,保存程序执行的位置) ex原创 2013-08-29 14:31:50 · 5605 阅读 · 0 评论