• 问:拿到一个.a库,如何查看其中包含哪些函数? 答:使用 nm xx.a 命令 nm xx.a 如果输出较多,可重定向输出至文本文件 nm xx.a > xx.txt 几个问题: (1).a到底是个什么? .a其实是把编译生成的.o文件...

    问:拿到一个.a库,如何查看其中包含哪些函数?

    答:使用 nm xx.a 命令

    nm  xx.a
    

    如果输出较多,可重定向输出至文本文件中

    nm  xx.a  > xx.txt
    

    几个问题:

    (1).a到底是个什么?

    .a其实是把编译生成的.o文件,打包成一个.a文件。a的意思是archive/归档的意思。

    (2).a中一些字段含义

    nm xx.a命令后输出符号表。如:

    000000 T CS_xx 
    000000 D cs_b_u 
    000000 U CNN_x
    

    其中T表示程序中的text段,D表示data段。U表示外部定义的接口。

    展开全文
  • 查看linux静态库*.a中函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构 windows下 dumpbin /exports libxxx.a linux 下 nm -g --defined-only ...

    查看linux静态库*.a中的函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构

    windows下

    dumpbin /exports libxxx.a

    linux 下

    nm -g --defined-only libxxx.a


    下面是appro算法库中的文件

    1、Appro_2a_lib.a

    [root@localhost lib]# nm -g --defined-only Appro_2a_lib.a
    
    ae_ti.o:
    00000000 D AE_TI_AE
    0000002c D AE_TI_IALG
    000003d0 T AE_TI_alloc
    00000bbc T AE_TI_control
    000004a8 T AE_TI_free
    0000057c T AE_TI_init
    0000071c T AE_TI_process
    00000000 T GET_AE_MEAN_VALUE
    
    awb_ti.o:
    00000000 D AWB_TI_AWB
    0000002c D AWB_TI_IALG
    00000000 T AWB_TI_alloc
    00001358 T AWB_TI_control
    000000b8 T AWB_TI_free
    00000184 T AWB_TI_init
    00000344 T AWB_TI_process
    
    ae_appro.o:
    00000000 D AE_APPRO_AE
    0000002c D AE_APPRO_IALG
    00000508 T AE_APPRO_alloc
    000013a4 T AE_APPRO_control
    000005d0 T AE_APPRO_free
    00000698 T AE_APPRO_init
    00000954 T AE_APPRO_process
    
    awb_appro.o:
    00000000 D AWB_APPRO_AWB
    0000002c D AWB_APPRO_IALG
    00000494 T AWB_APPRO_SetCalRange
    00000000 T AWB_APPRO_alloc
    00003d84 T AWB_APPRO_control
    000000ac T AWB_APPRO_free
    00001048 T AWB_APPRO_init
    00001380 T AWB_APPRO_process
    00001274 T AWB_GetAvergeGain
    0000016c T Get_hist_info

    2、Appro_aew_control.a

    [root@localhost lib]# nm -g --defined-only Appro_aew_control.a 
    
    Appro_aew_control.o:
    00005988 T AEWCheckTime
    00000844 D AE_Frame_PRIO_INDEX
    00008c48 D AE_Frame_PRIO_Tbl
    000007bc D AE_Quality_PRIO_INDEX
    000008cc D AE_Quality_PRIO_Tbl
    00000000 D AE_Shutter_PRIO_Tbl
    00000180 T ApproAEW_AWB_SETUP
    000001f4 T ApproAEW_DCSUB_SETUP
    000000f4 T ApproAEW_GAIN_SETUP
    00000000 T ApproAEW_SHUTTER_SETUP
    00000798 T ApproIMG_SetEngAwbCfg
    00000278 T ApproIMG_SetNoiseFilter1
    00000658 T ApproIMG_SetOtf
    0000108c T ApproSend3A
    00005c64 T CONTROL_DRIVER_Setup
    000028ec T CONTROL_DRIVER_initial
    00005b6c T CONTROL_DRIVER_process
    00000020 C CTRL_DRV_SETUP
    00000034 C DRIVER
    00001a0c T GET_INDEX_LIST
    0000361c T GetSaturationMatrix
    00003bb4 T GetSaturationMatrix_Appro
    00001f50 T GetSendWBGain
    00002e54 T MatMult
    000024a4 T Preview_Sending_Misc
    00003070 T float2IntMat
    00002d60 T printMat
    
    Appro_aew_cal.o:
    00000374 T Aew_Cal_Limit_parameter
    000000c4 T Aew_Cal_LoadParm
    00000620 T Aew_Cal_get_dfc_tbl
    0000058c T Aew_Cal_read_parameter
    00000000 T CheckSum
    
    Appro_AutoIrisCtrl.o:
    00000154 T Appro_AutoIrisCtrlEnd
    00000170 T Appro_AutoIrisCtrlInit
    00001f20 T Appro_AutoIrisCtrlRoutine
    00000f48 T Appro_DoPwmCtrl
    000002d4 T Appro_EnergyCheck
    000023a0 T Appro_GetAutoIrisStatus
    00000234 T Appro_ModifyRange
    000000f0 T Appro_PwmSetPeriod
    00000000 T Appro_SetAutoIrisCalData
    00001e40 T Appro_SetAutoIrisTargetMean
    00000000 B BypassBreakFlag
    000000dc T Print_info
    000000a4 T SetFlag
    000000a8 D gDelayTbl
    00000000 D gPulseTbl
    00000038 D gPulseTbl_B
    00000070 D gPulseTbl_S
    00000168 C gPwmCfg
    
    Appro_DRVfnDevicePIC.o:
    000006d4 T DRVfnPicCheckDevice
    00000b8c T DRVfnPicCheckDeviceR
    00000d0c T DRVfnPicCheckID
    000003b4 T DRVfnPicGetID
    00000a8c T DRVfnPicReset
    00000004 D IsPicFirstIn
    00000000 B PIC_SCL
    00000004 B PIC_SDA
    00001110 T ReadHWKey
    
    Appro_Chip.o:
    000003b4 T Appro_ChipCheckRoutine
    00000018 C ChipCheck_lock
    00000000 B gPicFlg
    00000004 B gPicStatus
    00000000 T mutexCreate
    000000a0 T mutexDelete
    000000cc T mutexLock
    000000f8 T mutexUnlock
    
    Appro_Dbg.o:
    000001f4 T APPRO_DBG_Init
    00000004 B APPRO_DBG_MASK
    000001c8 T APPRO_DBG_STOP
    00000070 T APPRO_DBG_TSK
    00000000 B IsRun_APPRO_DBG
    00000000 T _APPRO_DBG
    
    Appro_Hue.o:
    000003cc T huerotatemat
    0000021c T xformpnt
    00000000 T xrotatemat
    00000088 T yrotatemat
    00000110 T zrotatemat
    00000198 T zshearmat


    下面是TI 算法库中的文件

    1、alg_awb_ti.a

    [root@localhost lib]# nm -g --defined-only alg_awb_ti.a 
    
    awb_ti.o:
    00000000 D AWB_TI_AWB
    0000002c D AWB_TI_IALG
    00000000 T AWB_TI_alloc
    00000064 T AWB_TI_control
    00000250 T AWB_TI_free
    000000b4 T AWB_TI_init
    00000124 T AWB_TI_process
    
    check_expiration.o:
    00000000 T check_expiration
    
    RGB2RGB_stab.o:
    00000000 T RGB2RGB_stab
    00000004 C awb_count
    00000030 C history_index
    00000004 C prev_RGB2RGBIndex
    
    TI_aaa_awb_v2848debug_IPNC.o:
    00000000 T TI_AWBInit
    00000408 T TI_AWB_do
    00000188 T TI_AWB_stab

    2、alg_flicker_detect_ti.a

    [root@localhost lib]# nm -g --defined-only alg_flicker_detect_ti.a 
    
    flicker_corr.o:
    00000000 D Sinewave
    00000000 T flicker_alloc
    00000764 T flicker_detect
    00000254 T flicker_init


    展开全文
  • 查看linux静态库*.a中函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构 windows下 dumpbin /exports libxxx.a linux 下 nm -g --...

    查看linux静态库*.a中的函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构

    windows下

    dumpbin /exports libxxx.a

    linux 下

    nm -g --defined-only libxxx.a


    下面是appro算法库中的文件

    1、Appro_2a_lib.a

    1. [root@localhost lib]# nm -g --defined-only Appro_2a_lib.a  
    2.   
    3. ae_ti.o:  
    4. 00000000 D AE_TI_AE  
    5. 0000002c D AE_TI_IALG  
    6. 000003d0 T AE_TI_alloc  
    7. 00000bbc T AE_TI_control  
    8. 000004a8 T AE_TI_free  
    9. 0000057c T AE_TI_init  
    10. 0000071c T AE_TI_process  
    11. 00000000 T GET_AE_MEAN_VALUE  
    12.   
    13. awb_ti.o:  
    14. 00000000 D AWB_TI_AWB  
    15. 0000002c D AWB_TI_IALG  
    16. 00000000 T AWB_TI_alloc  
    17. 00001358 T AWB_TI_control  
    18. 000000b8 T AWB_TI_free  
    19. 00000184 T AWB_TI_init  
    20. 00000344 T AWB_TI_process  
    21.   
    22. ae_appro.o:  
    23. 00000000 D AE_APPRO_AE  
    24. 0000002c D AE_APPRO_IALG  
    25. 00000508 T AE_APPRO_alloc  
    26. 000013a4 T AE_APPRO_control  
    27. 000005d0 T AE_APPRO_free  
    28. 00000698 T AE_APPRO_init  
    29. 00000954 T AE_APPRO_process  
    30.   
    31. awb_appro.o:  
    32. 00000000 D AWB_APPRO_AWB  
    33. 0000002c D AWB_APPRO_IALG  
    34. 00000494 T AWB_APPRO_SetCalRange  
    35. 00000000 T AWB_APPRO_alloc  
    36. 00003d84 T AWB_APPRO_control  
    37. 000000ac T AWB_APPRO_free  
    38. 00001048 T AWB_APPRO_init  
    39. 00001380 T AWB_APPRO_process  
    40. 00001274 T AWB_GetAvergeGain  
    41. 0000016c T Get_hist_info  

    2、Appro_aew_control.a

    1. [root@localhost lib]# nm -g --defined-only Appro_aew_control.a   
    2.   
    3. Appro_aew_control.o:  
    4. 00005988 T AEWCheckTime  
    5. 00000844 D AE_Frame_PRIO_INDEX  
    6. 00008c48 D AE_Frame_PRIO_Tbl  
    7. 000007bc D AE_Quality_PRIO_INDEX  
    8. 000008cc D AE_Quality_PRIO_Tbl  
    9. 00000000 D AE_Shutter_PRIO_Tbl  
    10. 00000180 T ApproAEW_AWB_SETUP  
    11. 000001f4 T ApproAEW_DCSUB_SETUP  
    12. 000000f4 T ApproAEW_GAIN_SETUP  
    13. 00000000 T ApproAEW_SHUTTER_SETUP  
    14. 00000798 T ApproIMG_SetEngAwbCfg  
    15. 00000278 T ApproIMG_SetNoiseFilter1  
    16. 00000658 T ApproIMG_SetOtf  
    17. 0000108c T ApproSend3A  
    18. 00005c64 T CONTROL_DRIVER_Setup  
    19. 000028ec T CONTROL_DRIVER_initial  
    20. 00005b6c T CONTROL_DRIVER_process  
    21. 00000020 C CTRL_DRV_SETUP  
    22. 00000034 C DRIVER  
    23. 00001a0c T GET_INDEX_LIST  
    24. 0000361c T GetSaturationMatrix  
    25. 00003bb4 T GetSaturationMatrix_Appro  
    26. 00001f50 T GetSendWBGain  
    27. 00002e54 T MatMult  
    28. 000024a4 T Preview_Sending_Misc  
    29. 00003070 T float2IntMat  
    30. 00002d60 T printMat  
    31.   
    32. Appro_aew_cal.o:  
    33. 00000374 T Aew_Cal_Limit_parameter  
    34. 000000c4 T Aew_Cal_LoadParm  
    35. 00000620 T Aew_Cal_get_dfc_tbl  
    36. 0000058c T Aew_Cal_read_parameter  
    37. 00000000 T CheckSum  
    38.   
    39. Appro_AutoIrisCtrl.o:  
    40. 00000154 T Appro_AutoIrisCtrlEnd  
    41. 00000170 T Appro_AutoIrisCtrlInit  
    42. 00001f20 T Appro_AutoIrisCtrlRoutine  
    43. 00000f48 T Appro_DoPwmCtrl  
    44. 000002d4 T Appro_EnergyCheck  
    45. 000023a0 T Appro_GetAutoIrisStatus  
    46. 00000234 T Appro_ModifyRange  
    47. 000000f0 T Appro_PwmSetPeriod  
    48. 00000000 T Appro_SetAutoIrisCalData  
    49. 00001e40 T Appro_SetAutoIrisTargetMean  
    50. 00000000 B BypassBreakFlag  
    51. 000000dc T Print_info  
    52. 000000a4 T SetFlag  
    53. 000000a8 D gDelayTbl  
    54. 00000000 D gPulseTbl  
    55. 00000038 D gPulseTbl_B  
    56. 00000070 D gPulseTbl_S  
    57. 00000168 C gPwmCfg  
    58.   
    59. Appro_DRVfnDevicePIC.o:  
    60. 000006d4 T DRVfnPicCheckDevice  
    61. 00000b8c T DRVfnPicCheckDeviceR  
    62. 00000d0c T DRVfnPicCheckID  
    63. 000003b4 T DRVfnPicGetID  
    64. 00000a8c T DRVfnPicReset  
    65. 00000004 D IsPicFirstIn  
    66. 00000000 B PIC_SCL  
    67. 00000004 B PIC_SDA  
    68. 00001110 T ReadHWKey  
    69.   
    70. Appro_Chip.o:  
    71. 000003b4 T Appro_ChipCheckRoutine  
    72. 00000018 C ChipCheck_lock  
    73. 00000000 B gPicFlg  
    74. 00000004 B gPicStatus  
    75. 00000000 T mutexCreate  
    76. 000000a0 T mutexDelete  
    77. 000000cc T mutexLock  
    78. 000000f8 T mutexUnlock  
    79.   
    80. Appro_Dbg.o:  
    81. 000001f4 T APPRO_DBG_Init  
    82. 00000004 B APPRO_DBG_MASK  
    83. 000001c8 T APPRO_DBG_STOP  
    84. 00000070 T APPRO_DBG_TSK  
    85. 00000000 B IsRun_APPRO_DBG  
    86. 00000000 T _APPRO_DBG  
    87.   
    88. Appro_Hue.o:  
    89. 000003cc T huerotatemat  
    90. 0000021c T xformpnt  
    91. 00000000 T xrotatemat  
    92. 00000088 T yrotatemat  
    93. 00000110 T zrotatemat  
    94. 00000198 T zshearmat  


    下面是TI 算法库中的文件

    1、alg_awb_ti.a

    1. [root@localhost lib]# nm -g --defined-only alg_awb_ti.a   
    2.   
    3. awb_ti.o:  
    4. 00000000 D AWB_TI_AWB  
    5. 0000002c D AWB_TI_IALG  
    6. 00000000 T AWB_TI_alloc  
    7. 00000064 T AWB_TI_control  
    8. 00000250 T AWB_TI_free  
    9. 000000b4 T AWB_TI_init  
    10. 00000124 T AWB_TI_process  
    11.   
    12. check_expiration.o:  
    13. 00000000 T check_expiration  
    14.   
    15. RGB2RGB_stab.o:  
    16. 00000000 T RGB2RGB_stab  
    17. 00000004 C awb_count  
    18. 00000030 C history_index  
    19. 00000004 C prev_RGB2RGBIndex  
    20.   
    21. TI_aaa_awb_v2848debug_IPNC.o:  
    22. 00000000 T TI_AWBInit  
    23. 00000408 T TI_AWB_do  
    24. 00000188 T TI_AWB_stab  

    2、alg_flicker_detect_ti.a

    1. [root@localhost lib]# nm -g --defined-only alg_flicker_detect_ti.a   
    2.   
    3. flicker_corr.o:  
    4. 00000000 D Sinewave  
    5. 00000000 T flicker_alloc  
    6. 00000764 T flicker_detect  
    7. 00000254 T flicker_init  

    展开全文
  • Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 包 含哪些文件、函数、变量:  1. 查看文件:ar -t *.a  2. 查看函数、变里:nm *.a

            在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包

    含哪些文件、函数、变量:

            1. 查看文件:ar -t *.a

            2. 查看函数、变里:nm *.a

    展开全文
  • 1、linux下 (1)、 objdump -t 查看对象文件所有的符号列表;例如 objdump -t libtest.o (2)、nm列出目标文件(.o)的符号清单;例如 nm -s filename.a/filename.o/a.out (3)、列出所有定义的符号 ...

    1、linux下

    (1)、 objdump -t 查看对象文件所有的符号列表;例如

     

     objdump -t libtest.o

    (2)、nm列出目标文件(.o)的符号清单;例如

    nm -s filename.a/filename.o/a.out

    (3)、列出所有定义的符号

    nm --defined-only libname.a

     

    (4)、显示所有对象文件(.o文件)的列表;例如

    ar -t libname.a

     

    2、windows下

    (1)、 objdump -t 查看对象文件所有的符号列表;例如

     objdump -t libtest.obj

     

    (2)、dumpbin -SYMBOLS 查看对象文件所有的符号列表

    dumpbin -SYMBOLS deblock.obj


    (3)、显示所有对象文件(.obj)的列表;例如

    lib -list libname.lib


     

     

    参考网址:https://my.oschina.net/alphajay/blog/7730

    参考网址:http://bbs.csdn.net/topics/70373115

    参考网址:http://www.cnblogs.com/kuangke/p/6155368.html           VS2012下X64平台嵌入汇编程序

    展开全文
  • 比如要查找ATOI的定义,在LIB/使用 nm -A -X64 * |grep ATOI 如果是U则是没有定义的函数,如果是T则表示定义了此函数,X64表示64位机器,如果是32位使用X32 
  • Linux下静态库.a生成1.将各函数代码所在的源文件编译成目录文件。例如,对于myfunc.c,可以用如下命令 将其编译成目标文件: gcc -c myfunc.c 当然在有多个源文件时,只需在gcc 命令行中将其分别列上就可以了。经此...
  • .o、.a、.so文件都是Linux下的程序函数库,【即编译好的可以供其他程序使用的代码和数据】。 优点:程序模块化,容易重新编译,方便升级。 分类: .o文件 动态加载函数库(对应.o文件,一个.c或.cpp文件对应一个.o...
  • .o 就是object, 也就相当于windows下编译的obj文件,....o文件是链接文件,.a是静态库文件,靠.o文件生成,作为一个库为外部程序提供函数,接口。 生成.o文件: gcc -c test.o test.c 生成.a文件: ar cqs test.a test...
  • linux环境下的链接库分为静态链接库(.a库)和动态链接库(.so库),其作用是把C程序编译好做成一种可执行链接文件,主程序文件调用这些程序的函数接口是可以使用a库或so库,在主程序只需要include含有库提供...
  • 利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为...
  • linux .a和.so的区别

    2016-05-11 14:42:57
    感谢原作者的精彩分享 ...函数库分为静态库和动态库两种。...1. 静态函数库 ... 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码,他
  • linux下有两种库:动态库和静态库(共享库) 二者的不同点在于代码被载入的时刻不同。 静态库的代码在编译过程已经被载入可执行程序,因此体积比较大。 动态库(共享库)的代码在可执行程序运行时才载入内存,在编译...
  • 有时嵌套调用静态库,比如在rtmp_server需要调用到librtmp.a,而在librtmp.a中需要调用到libflv.a,此时需要注意静态库加载的顺序,需要先加载librtmp.a再加载libflv.a。具体如下: 生成静态库 gcc -c -o libflv...
  • 原文链接:...   linux下生成.so文件和.a文件 test.h 1 #ifndef _TEST_H_ 2 #define _TEST_H_ 3 4 void TestA(); 5 void TestB(); 6 7 #endif   t...
  • 连续几天终于将一个又一个问题解决了,这里说其中一个问题  描述问题:使用多线程pthread的时候,(我用的IDE,... 发现:pthread要用到动态链接库(libpthread.a)才能使用。  解决办法:后来在setting->compl
  • 懂C语言的人, 没有不知道函数的, 下面我们来看看linux shell script函数, 其实也很简单: [taoge@localhost learn_shell]$ ls a.sh [taoge@localhost learn_shell]$ cat a.sh #! /bin/bash fun() { echo ...
  • linux 的.so和.a文件

    2012-01-21 10:44:01
    Linux下的.so是基于Linux下的动态链接,其功能和作用类似与windows下.dll文件。 下面是关于.so的介绍: 一、引言 通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object ...
1 2 3 4 5 ... 20
收藏数 458,516
精华内容 183,406