访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

genzld的博客

时间:2019-08-11

linux命令_linux命令手册_linux命令

⑦进入函数体内执行:s

⑧推出函数:finish

⑨退出调试:q

⑩显示: p + 变量名

①每次结果都会显示:display + 变量名

②取消该显示:undisplay + 变量名

③查看断点信息:info

④查看内存:x /nfu adress

n:显示数据的个数

F:显示进制数 x d o t c f---16 10 8 2 字符 浮点

u:以几字节显示:b h w g-- 1 2 4 8

⑤显示函数调用栈:bt

⑥查看变量类型:ptype + 变量名

p%20a

$1%20=%20{1,2,3,4,5,6,7,8,9,10}

p%20ptr

$%202%20=(int*)0xbffff2b4

p &ptr 和 p pptr 都为0xbffff2b0

问:怎么用指向一维数组的指针来表示数组的全部元素?

p *ptr@len10 //表示全部

p ptr[4]//第五个元素

上面已经提到linux命令,静态库的pdb是每个文件的调试信息的集合,而默认情况下静态库生成的pdb文件都是vcx0.pdb,例如vs2008就是vc90.pdb,vs2010就是vc100.pdb。查看.h和.c文件,发现.c文件中才是定义的那些函数的具体实现,结合第一次静态库的实践,这个.c文件就相当于那些add.c、sub.c...10-1的代码相当于那个main函数,所以可以将其做成一个静态库来使用,但是又出现了新问题。其根本原因也是找不到test()函数的实现文件,由于该test()函数的实现在test.a这个静态库中的,故在链接的时候需要在其后加入test.a这个库,链接命令修改为如下形式即可。

特点:

①:中间文件.o(功能代码)的集合linux命令,链接时使用。

②:静态库中的程序直接链接到可执行文件中。

③:静态库存于磁盘,当某个程序需要的时间,需要拷贝一份,然后合成到程序中,在一起加载到内存上运行。这样当多个程序调用时,会导致磁盘空间的浪费。

①*.c将所有的源文件编译生成中间文件*.o

②ar crv libxxx.a *.o //libxxx.a 中xxx为库名

gcc -o main main.c -L(+路径) -l(库名)

例如:

gcc -o main mian.c -L./lib -lmymath

因为静态库是在链接时使用,所以当我们在运行时,将静态库删除时,程序依然可以执行

Windows .dll Linux .so

①使用动态库的程序运行起来后,动态的将动态库加载到内存的执行。

②只需要在内存中加载一份,随后的程序在内存中运行时,不需要对此动态库重新加载到内存上。

linux命令_linux命令_linux命令手册

③运行库需要单独加载到内存上执行。

方式一:gcc -fPIC -c add.c

gcc -fPIC -c sub,c

gcc -shared -o libxxx.so *.o

方式二:gcc -fPIC -shared -o libxxx,so *.c

gcc -o run main.c -L(+路径) -l(+库名) //和静态库相似

使用动态库的程序在运行时,需要单独加载搜索加载动态库文件,所以我们要高速操作系统搜索路径,或者将库拷贝到操作系统默认的搜索路径下。

①:root用户:将动态库拷贝到 /lib 或者 /usr/lib任意路径下

②:设置环境变量(仅对本终端有效)

Export LD_LIBRARY_PATH=绝对路径

例如:

Export LD_LIBRARY_PATH= $LD_LIBRARY_PATH’:/home/wangbao/lib’

③修改配置文件:

 上一个教程:Linux常用命令大全100条