导航:首页 > 编程系统 > lddlinux

lddlinux

发布时间:2023-02-07 10:59:53

linux的ldd命令是什么意思

用来查看某个可执行文件所依赖的所有动态库的名字及其所在路径。

㈡ linux ldd 为什么 看不到 mysqlclient

ldd /home/oracle/lib/ss.so.11.1 打印ss.so.11.1的依赖信息 cd ~aa/lib 如果你没写错的话,就是切换到当前目录下的“~aa"目录下的lib子目录下 如果是 cd ~/aa/lib 则是切到当前用户的home目录下的aa子目录的lib子目录 详情可参考

㈢ 关于LINUX 编程方面的书籍

假设你是计算机科班出身,计算机系的基本课程如数据结构、操作系统、体系结构、编译原理、计算机网络你全修过

我想大概可以分为4个阶段,水平从低到高
从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码

其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数

安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式

系统编程推荐《高级unix环境编程》,黑话叫APUE
还有《unix网络编程》
这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好

内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发
参考书如下《linux device drivers》,黑话叫ldd
《linux kernel development》,黑话叫lkd
《understading the linux kernel》,黑话叫utlk
《linux源码情景分析》
这四本书为搞内核的必读书籍

最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了

学习linux/unix编程方法的建议

建议学习路径:

首先先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。

然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。

如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。

然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。

对于几本经典教材的评价:

《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。

《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。

《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。

《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。

《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。

《Operating System - Design and Implement》这个是讲操作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会
有一个清晰的认识。

《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。

㈣ Linux使用ldd命令查看程序调用了哪些动态库

名称抄 ldd - 打印共享库的依袭赖关系
大纲 ldd [选项]...文件...
描述 ldd 输出在命令行上指定的每个程序或共享库需要的共享库。
选项
--version
打印ldd的版本
-v --verbose
打印所有信息,例如包括符号的版本信息
-d --data-relocs
执行符号重部署,并报告缺少的目标对象(只对ELF格式适用)
-r --function-relocs
对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)
--help 用法信息
或者看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.

㈤ linux下使用pmap和ldd查看进程调用了什么lib

pmap PID #查看静态内存使用情况
top #按shift+m 按照内存使用情况进行排序
ps -ef | grep nginx #查看PID 比1234
cat /proc/1234/status #查看详细信息
RSS列 表示 程序占用少物理内存 虚拟内存用考虑并占用实际物理内存 (2). top 命令 其VIRT(或VSS)列 表示程序占用少虚拟内存 同 ps aux VSZ列 RES列 表示 程序占用少物理内存同 ps aux RSS列 2.linux 查看前系统占用少内存 般命令 free其 free系统少内存使用由于 linux 系统内存使用原则 内存宝贵 能使用少使用少 所 linux已经调用包缓存起放内存实际使用内存理解 free+buffers+cached3.解完些命令 再使用ps aux 命令查看候 发现奇怪现象 所 RSS 列数据加起 比物理内存数要 比 物理内存2G RSS列数据加起能5G 事 RSS列值骗我 linux内存机制: 运行程序 linux调用该程序依赖链接库 lib.xx.so 首先看该链接库否映射进内存没映射则代码段与数据段映射内存否则其加入进程址空间 N程序依赖lib.xx.so候 实际内存lib.xx.so N RSS显示程序占用实际物理内存 lib.xx.so算进 比 X程序 本身占用内存5M lib.xx.so 占用内存2Mlib.xx.soN程序共享依赖 则RSS显示X程序运行占用内存7M 实际 X程序占用5M空间 余2m讨入RSS 用ps aux显示内存占用情况 N共享依赖lib.xx.soN程序都2m空间算自RSS RSSsum值比实际物理内存 linux内存使用机制复杂 句两句能说清楚简单说明 ps auxRSS值 并能真实反映物理内存使用情况 4. 查看更详细内存使用情况 用几种 或者几种结合使用:几种都需要root账户权限(1). pmap -d $pid $pid 运行程序pid(2). cat /proc/$pid/smaps smaps数据比较详细简单归纳归纳命令: cat /proc/$pid/smaps | awk '/Size|Rss|Pss|Shared|Private|Referenced|Swap/{val_name=gensub(/([a-zA-Z_]*).*/,"\\1",1,$1); list[val_name]+=$2; }END{for(val in list)print val,list[val];}' (3). cat /proc/$pid/maps(4). cat /proc/$pid/statm输解释第列 size:任务虚拟址空间 第二列 Resident:使用物理内存 第三列 Shared:共享页数第四列 Trs:程序所拥执行虚拟内存 第五列 Lrs:映像倒任务虚拟内存空间库 第六列 Drs:程序数据段用户态栈 第七列 dt:脏页数量(5). vmstat命令据说提供些参考信息具体未研究 5.作phper尝试使用php函数memory_get_usage() 该函数能php前运行程序实际真占用内存数量 真想php真占用内存 概能, 程序运行始执行memory_get_usage(). 程序运行结束执行memory_get_usage() 两者值相减值 应该相比较准确内存占用数量 没测试 考虑 数量没实际意义 加平比较忙懒试

㈥ 在Red Hat Linux 中程序函数库可以分为哪几种类型 它们的调用方法各是什么请说出nm和ldd两个命令的作

1)、在Red Hat Linux中函数库可以分为3种类型:静态函数库、共享函数库和动态加回载函数库。答
静态函数库在应用程序编译时就把函数的执行代码加入到应用程序中。
共享函数库中的函数当一个可执行程序启动时被加载。
动态加载函数库可以在程序运行的任何阶段加载函数。
2)、使用nm和ldd命令可以获得关于库函数的信息。
nm命令可以列出一个函数库文件中的符号表,它对静态的库函数和共享的库函数都能起作用。
ldd命令可以列出一个程序正常运行所需要的共享库。
3)、库函数缺省存放在/lib和/usr/lib中,以及动态库配置文件内所列的目录中。
如果库函数没有在这些目录下,可以在中加入所须目录,后运行ldconfig命令,使之生效。或设置环境变量LD_LIBRARY_PATH或LD_PRELOAD加入库函数所存放的目录。

还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。

阅读全文

与lddlinux相关的资料

热点内容
php编程语言在哪里 浏览:302
矢量文件有哪些格式 浏览:790
文书档案长期保存的文件有哪些 浏览:945
如何把pdf文字复制粘贴到word文档 浏览:507
勤哲价格qinzheapp 浏览:709
腾讯小说下载的文件在哪里 浏览:106
js显示隐藏控件 浏览:119
共享上的文件内容误删如何找回 浏览:600
双十一网络营销分析 浏览:634
win10的areo怎么关 浏览:40
阿城区如何办理电信网络 浏览:622
中国移动流量代码 浏览:364
厂里编程叫什么 浏览:96
win10我的世界主题包 浏览:34
哪个城市需要编程的企业多 浏览:758
linuxfprintf 浏览:58
如何把自己的手机在转转app上卖掉 浏览:641
医疗系统编程学什么专业 浏览:634
北京网络seo优化什么价格 浏览:776
win7文件夹声音 浏览:178

友情链接