nm指令

NAME
       nm - display name list (symbol table)

SYNOPSIS
       nm  [  -agnoprumxjlfPA  [  s  segname sectname ]] [ - ] [ -t format ] [[ -arch
       arch_flag ]...] [ file ... ]

DESCRIPTION
       Nm displays the name list (symbol table) of each object file in  the  argument
       list.  If an argument is an archive, a listing for each object file in the ar-
       chive will be produced.  File can be of the form libx.a(x.o),  in  which  case
       only symbols from that member of the object file are listed.  (The parentheses
       have to be quoted to get by the shell.)  If no file is given, the  symbols  in
       a.out are listed.

       Each  symbol  name is preceded by its value (blanks if undefined).  Unless the
       -m option is specified, this value is followed by one of the following charac-
       ters,  representing the symbol type: U (undefined), A (absolute), T (text sec-
       tion symbol), D (data section symbol), B (bss section symbol), C (common  sym-
       bol), - (for debugger symbol table entries; see -a below), S (symbol in a sec-
       tion other than those above), or I (indirect symbol).  If the symbol is  local
       (non-external),  the symbol's type is instead represented by the corresponding
       lowercase letter.  A lower case u in a  dynamic  shared  library  indicates  a
       undefined  reference  to  a  private  external  in  another module in the same
       library.

       If the symbol is a Objective C method, the symbol name is  +-[Class_name(cate-
       gory_name)  method:name:], where `+' is for class methods, `-' is for instance

  methods, and (category_name) is present only when the method is in a category.

       The output is sorted alphabetically by default.

eg: nm xxx.a > result.log

原文地址:https://www.cnblogs.com/ppsunlight/p/6089840.html