
0

nm命令详解
nm 命令全称, names, 用于显示二进制目标文件的符号表。
使用方法
nm -a /usr/local/Cellar/php70-redis/3.0.0/redis.so | grep conn
0000000000036c99 T _cluster_disconnect
0000000000002083 T _redis_connect
000000000001cd80 T _redis_sock_connect
00000000000217c9 T _redis_sock_disconnect
0000000000001b03 T _redis_sock_get_connected
000000000000205d T _zim_Redis_connect
0000000000002275 T _zim_Redis_pconnect
符号 类型 | 说明 |
---|---|
B | 该符号的值出现在非初始化数据段(bss)中。例如,在一个文件中定义全局static int test。则该符号test的类型为b,位于bss section中。其值表示该符号在bss段中的偏移。一般而言,bss段分配于RAM中 |
C | 该符号为common。common symbol是未初始话数据段。该符号没有包含于一个普通section中。只有在链接过程中才进行分配。符号的值表示该符号需要的字节数。例如在一个c文件中,定义int test,并且该符号在别的地方会被引用,则该符号类型即为C。否则其类型为B。 |
D | 该符号位于初始话数据段中。一般来说,分配到data section中。例如定义全局int baud_table[5] = {9600, 19200, 38400, 57600, 115200},则会分配于初始化数据段中。 |
G | 该符号也位于初始化数据段中。主要用于small object提高访问small data object的一种方式。 |
I | 该符号是对另一个符号的间接引用。 |
N | 该符号是一个debugging符号。 |
R | 该符号位于只读数据区。例如定义全局const int test[] = {123, 123};则test就是一个只读数据区的符号。注意在cygwin下如果使用gcc直接编译成MZ格式时,源文件中的test对应_test,并且其符号类型为D,即初始化数据段中。但是如果使用m6812-elf-gcc这样的交叉编译工具,源文件中的test对应目标文件的test,即没有添加下划线,并且其符号类型为R。一般而言,位于rodata section。值得注意的是,如果在一个函数中定义const char *test = “abc”, const char test_int = 3。使用nm都不会得到符号信息,但是字符串“abc”分配于只读存储器中,test在rodata section中,大小为4。 |
S | 符号位于非初始化数据区,用于small object。 |
T | 该符号位于代码区text section。 |
U | 该符号在当前文件中是未定义的,即该符号的定义在别的文件中。例如,当前文件调用另一个文件中定义的函数,在这个被调用的函数在当前就是未定义的;但是在定义它的文件中类型是T。但是对于全局变量来说,在定义它的文件中,其符号类型为C,在使用它的文件中,其类型为U。 |
V | 该符号是一个weak object。 |
W | The symbol is a weak symbol that has not been specifically tagged as a weak object symbol. |
- | 该符号是a.out格式文件中的stabs symbol。 |
? | 该符号类型没有定义 |
回复
Recommend
Recent search keywords
- Website Design Company Sydney
- 01878074300
- License plate
- Crdroid android 12.1 custom recovery
- Crdroid android 12.1 orangefox recovery ew
- Crdroid android 12.1 orangefox recovery
- Babu marma
- charger barril
- switch
- usbc c
- 公主日记
- Mame ching
- 里菜
- ipx-776
- 陈奕迅
- 斯巴达克斯
- 冰与火之歌
- 亚洲
- 色戒
- secret level
- 芭蕾女杀手
- 芭蕾复仇曲
- 死侍与金刚狼
- 毒液3
- 毒液
- 新妈妈
- 字幕库
- 异形
- 红雀
- 异世界舅舅
- 急诊室的故事
- 寿司
- 异次元骇客
- Notting Hill
- 黄石
- 名侦探柯南
- AND559
- Yellowstone S02
- geographical aspects of cyber crime
- Forced Nightmare
- ABP-168
- justvisiting
- 守法公民
- gexp-64
- 狮子王
- Poison.Ivy.The.New.Seduction.1997.UNRATED.1080p.BluRay.x265-RARBG
- 张国荣2000年热情演唱会
- lucy.2014
- Lucy.2014.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.TrueHD.Atmos.7.1-FGT
- lucy
- 超体
- 胆大党 / Dandadan - 10
- 锦衣夜行
- 黑吃黑
- banshee
- In the Realm Of the Senses
- 海洋奇缘2
- 日子
- The Invasion 2007
- obsidian
- 雪国
- 寮國
- 星期天的人们
- 星期天的人
- 全领域异常解决室
- 射精執行官
- ABP984
- 984
- apb-984
- The.Expendables.2
- R3字幕组
- 纸牌屋
- booty shorts
- 周荣华
- 喋血双雄
- baptise kempf
- 我来自潮州
- Getting Started with Rust on a Raspberry Pi Pico
- Nail charms
- blooket global
- stefanzweifel.dev
- weak
- dim screen
- creatie
- figma
- Jons
- Antique cross
- How to Use the PostgreSQL Date Data Type
- 巴黎陷落
- ac8257
- hacks
- kali linux vitual images
- 10003
- JCAC
- mapboxgl
- sjh7742
- Certified Mechanical
- CustomerID
- 行高
- wichary