强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 產(chǎn)品 > 問答 > nm命令,linux系統(tǒng)C語言的nm是什么意思

nm命令,linux系統(tǒng)C語言的nm是什么意思

來源:整理 時間:2023-09-08 06:25:13 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,linux系統(tǒng)C語言的nm是什么意思

圖在哪里
就是搜索動態(tài)鏈接庫 庫函數(shù)的

linux系統(tǒng)C語言的nm是什么意思

2,它們的調(diào)用方法各是什么請說出nm和ldd兩個命令的作

1)、在Red Hat Linux中函數(shù)庫可以分為3種類型:靜態(tài)函數(shù)庫、共享函數(shù)庫和動態(tài)加載函數(shù)庫。 靜態(tài)函數(shù)庫在應(yīng)用程序編譯時就把函數(shù)的執(zhí)行代碼加入到應(yīng)用程序中。 共享函數(shù)庫中的函數(shù)當(dāng)一個可執(zhí)行程序啟動時被加載。 動態(tài)加載函數(shù)庫可以在程序運(yùn)行的任何階段加載函數(shù)。 2)、使用nm和ldd命令可以獲得關(guān)于庫函數(shù)的信息。 nm命令可以列出一個函數(shù)庫文件中的符號表,它對靜態(tài)的庫函數(shù)和共享的庫函數(shù)都能起作用。 ldd命令可以列出一個程序正常運(yùn)行所需要的共享庫。 3)、庫函數(shù)缺省存放在/lib和/usr/lib中,以及動態(tài)庫配置文件內(nèi)所列的目錄中。 如果庫函數(shù)沒有在這些目錄下,可以在中加入所須目錄,后運(yùn)行l(wèi)dconfig命令,使之生效?;蛟O(shè)置環(huán)境變量LD_LIBRARY_PATH或LD_PRELOAD加入庫函數(shù)所存放的目錄。 還有不會的請參考《linux就該這么學(xué)》,針對各種linux疑難雜癥,幫助linux學(xué)習(xí)者。

它們的調(diào)用方法各是什么請說出nm和ldd兩個命令的作

3,航空公司定位AVH什么意思SD什么意思NM1什么意思CT什么意

AVH是查詢指令,SD是訂位指令,NM是姓名組,CT是聯(lián)系組,TKTL是出票時限。
avh 航空公司或公司 - 國家aviser, s.a. - 西班牙 呼號aviser sd:蘇丹航空公司 sudan airways 所屬國 家:蘇丹 nm1:海航集團(tuán)海南航空股份有限公司ct:索菲亞航空公司(ct)tktl:留票時限

航空公司定位AVH什么意思SD什么意思NM1什么意思CT什么意

4,nm指的是什么 nm的解釋

1、nm(納米簡寫)1納米=1毫微米(即十億分之一米),就是約為10個原子的長度。假設(shè)一根頭發(fā)的直徑為0.05毫米,把它徑向平均剖成5萬根,每根的厚度即約為1納米。 2、nm(公制紗支)公制紗支的意思。紡織品經(jīng)緯紗粗細(xì)的單位統(tǒng)稱;單位為s。另外英制紗支為:Ne。 3、nm(海里簡寫)海里是國際度量單位。1海里=1.852公里(千米) (中國標(biāo)準(zhǔn))。標(biāo)準(zhǔn)符號n mile?!吨腥A人民共和國法定計(jì)量單位》所用的符號是n mile。它等于地球橢圓子午線上緯度1分(一度等于六十分,一圓周為360度)所對應(yīng)的弧長。 4、nm(linux命令)nm命令主要是用來列出某些文件中的符號。linux中,nm用來列出目標(biāo)文件的符號清單。 5、nm(耐磨簡寫)耐磨材料是一大類具有特殊電、磁、光、聲、熱、力、化學(xué)以及生物功能的新型材料,是信息技術(shù)、生物技術(shù)、能源技術(shù)等高技術(shù)領(lǐng)域和國防建設(shè)的重要基礎(chǔ)材料,同時也對改造某些傳統(tǒng)產(chǎn)業(yè),如農(nóng)業(yè)、化工、建材等起著重要作用。

5,如何查看庫文件提供了哪些調(diào)用

可以用nm命令自己查看庫文件提供了哪些調(diào)用。比如我們用下面的nm命令查看libz.so庫文件提供哪些調(diào)用:如果把example.c.gz、minigzip.c.gz兩個例子程序完全弄懂了,你就肯定會自己寫程序進(jìn)行壓縮和解壓縮工作了。查看庫文件提供了哪些調(diào)用如果我們不看上面的軟件包信息中提供的源代碼例子,也可以用nm命令自己查看庫文件提供了哪些調(diào)用。
請查看java jni開發(fā)以及android ndk使用方法。。。

6,mac下nm命令詳解

從Xcode8開始,蘋果在mac上nm工具使用的就是llvm-nm工具( llvm-nm工具用來列出llvm字節(jié)碼文件,目標(biāo)文件以及歸檔文件中的目標(biāo)中的符號名稱 )。對大部分nm工具的命令選項(xiàng)來說,他們都有相同的可選項(xiàng);但-f,-s和-L這幾個選項(xiàng)差別較大。本文主要介紹了nm工具的各種常使用的選項(xiàng)的含義。 nm主要用于展示符號文件中的各種符號的名稱列表。某些情況下,如果一個文件使用了strip功能也就是 -T 剖離了符號,這種情況下,使用 nm 和 dyld 結(jié)果會不太一樣,這種情況需要使用 dyldinfo 來查看文件. 如果輸入的文件是打包過的,使用nm會列舉各個文件的詳情。輸入的文件可以是標(biāo)準(zhǔn)的libx.a(x.o)文件,會列舉.a和.o文件的符號信息。 默認(rèn)情況下,每個符號名的值都先于符號名出現(xiàn)。當(dāng)使用 -m 選項(xiàng)的是,值后面會跟上如下字母,代表各個符號的類型:U(未定義的),A(絕對的),T(Text Section段的符號),D(Data Section的符號),B(bss Section的符號),C(一般符號),S(除了上面幾種類型的符號外的符號),或者I(直接符號)。如果符號是本文件有的(非外部引入的),那么type就是小寫的。 如果一個符號是Objective-C方法名稱,符號名稱就會像這樣 +-[Class_name(category_name) method:name:], 顯示,+號代表類方法,-號代表示例方法 (category_name) 代表這是一個類別. 默認(rèn)情況下,符號是按字母表順序排序輸出的。

7,dotantnmnb分別是啥命令

答案和LS的差不多nt: no top 禁止上路刷兵nm: no middle 禁止中路刷兵nb: no bottom 禁止下路刷兵
分別是上路、中路、下路不出兵再看看別人怎么說的。
nt: no top 禁止上路刷兵nm: no middle 禁止中路刷兵nb: no bottom 禁止下路刷兵

8,linux系統(tǒng)C語言的nm是什么意思

不是C語言吧?是系統(tǒng)命令。用來列舉object文件(比如編譯出的a.out)的symbols.用法是:nm [-a|--debug-syms] [-g|--extern-only] [-B] [-C|--demangle[=style]] [-D|--dynamic] [-S|--print-size] [-s|--print-armap] [-A|-o|--print-file-name] [-n|-v|--numeric-sort] [-p|--no-sort] [-r|--reverse-sort] [--size-sort] [-u|--undefined-only] [-t radix|--radix=radix] [-P|--portability] [--target=bfdname] [-fformat|--format=format] [--defined-only] [-l|--line-numbers] [--no-demangle] [-V|--version] [-X 32_64] [--help] [objfile...] 具體而言,nm用來列出目標(biāo)文件的符號清單。如果沒有為nm命令指出目標(biāo)文件,則nm假定目標(biāo)文件是a.out。下面列出該命令的任選項(xiàng),大部分支持“-”開頭的短格式和“-“開頭的長格式。 -A、-o或--print-file-name:在找到的各個符號的名字前加上文件名,而不是在此文件的所有符號前只出現(xiàn)文件名一次。 例如nmlibtest.a的輸出如下: CPThread.o: 00000068TMain__8CPThreadPv 00000038TStart__8CPThread 00000014T_._8CPThread 00000000T__8CPThread 00000000?__FRAME_BEGIN__ ………………………………… 則nm-A的輸出如下: libtest.a:CPThread.o:00000068TMain__8CPThreadPv libtest.a:CPThread.o:00000038TStart__8CPThread libtest.a:CPThread.o:00000014T_._8CPThread libtest.a:CPThread.o:00000000T__8CPThread libtest.a:CPThread.o:00000000?__FRAME_BEGIN__ ………………………………………………………….. -a或--debug-syms:顯示調(diào)試符號。 -B:等同于--format=bsd,用來兼容MIPS的nm。 -C或--demangle:將低級符號名解碼(demangle)成用戶級名字。這樣可以使得C 函數(shù)名具有可讀性。 -D或--dynamic:顯示動態(tài)符號。該任選項(xiàng)僅對于動態(tài)目標(biāo)(例如特定類型的共享庫)有意義。 -fformat:使用format格式輸出。format可以選取bsd、sysv或posix,該選項(xiàng)在GNU的nm中有用。默認(rèn)為bsd。 -g或--extern-only:僅顯示外部符號。 -n、-v或--numeric-sort:按符號對應(yīng)地址的順序排序,而非按符號名的字符順序。 -p或--no-sort:按目標(biāo)文件中遇到的符號順序顯示,不排序。 -P或--portability:使用POSIX.2標(biāo)準(zhǔn)輸出格式代替默認(rèn)的輸出格式。等同于使用任選項(xiàng)-fposix。 -s或--print-armap:當(dāng)列出庫中成員的符號時,包含索引。索引的內(nèi)容包含:哪些模塊包含哪些名字的映射。-r或--reverse-sort:反轉(zhuǎn)排序的順序(例如,升序變?yōu)榻敌?。 --size-sort:按大小排列符號順序。該大小是按照一個符號的值與它下一個符號的值進(jìn)行計(jì)算的。 -tradix或--radix=radix:使用radix進(jìn)制顯示符號值。radix只能為“d”表示十進(jìn)制、“o”表示八進(jìn)制或“x”表示十六進(jìn)制。 --target=bfdname:指定一個目標(biāo)代碼的格式,而非使用系統(tǒng)的默認(rèn)格式。 -u或--undefined-only:僅顯示沒有定義的符號(那些外部符號)。 -l或--line-numbers:對每個符號,使用調(diào)試信息來試圖找到文件名和行號。對于已定義的符號,查找符號地址的行號。對于未定義符號,查找指向符號重定位入口的行號。如果可以找到行號信息,顯示在符號信息之后。 -V或--version:顯示nm的版本號。 --help:顯示nm的任選項(xiàng)。ar cs libmy.a//創(chuàng)建一個庫 ar rs libmy.a 1.o//增加一個模塊 ar t libmy.a//顯示庫里的模塊 ar d libmy.a 1.o//刪除一個模塊

9,nm命令看到動態(tài)庫中的內(nèi)容符號是什么意思

用的options:-A 在每個符號信息的前面打印所在對象文件名稱;-C 輸出demangle過了的符號名稱;-D 打印動態(tài)符號;-l 使用對象文件中的調(diào)試信息打印出所在源文件及行號;-n 按照地址/符號值來排序;-u 打印出那些未定義的符號;常見的符號類型:A 該符號的值在今后的鏈接中將不再改變;B 該符號放在BSS段中,通常是那些未初始化的全局變量;D 該符號放在普通的數(shù)據(jù)段中,通常是那些已經(jīng)初始化的全局變量;T 該符號放在代碼段中,通常是那些全局非靜態(tài)函數(shù);U 該符號未定義過,需要自其他對象文件中鏈接進(jìn)來;W 未明確指定的弱鏈接符號;同鏈接的其他對象文件中有它的定義就用上,否則就用一個系統(tǒng)特別指定的默認(rèn)值。注意幾點(diǎn):-C 總是適用于c++編譯出來的對象文件。還記得c++中有重載么?為了區(qū)分重載函數(shù),c++編譯器會將函數(shù)返回值/參數(shù)等信息附加到函數(shù)名稱中去形成一個mangle過的符號,那用這個選項(xiàng)列出符號的時候,做一個逆操作,輸出那些原始的、我們可理解的符號名稱。使用 -l 時,必須保證你的對象文件中帶有符號調(diào)式信息,這一般要求你在編譯的時候指定一個 -g 選項(xiàng),見 Linux:Gcc。使用nm前,最好先用Linux:File查看對象文件所屬處理器架構(gòu),然后再用相應(yīng)交叉版本的nm工具。
可執(zhí)行文件也可以看。如果可執(zhí)行文件被strip過,可能沒有符號:$ nm -a /usr/bin/testnm: /usr/bin/test: no symbols試試用-d看動態(tài)加載的符號:$ nm -d /usr/bin/test... u __ctype_b_loc u __ctype_get_mb_cur_max u __cxa_atexit u __errno_location u __fpending u __fprintf_chk w __gmon_start__ u __libc_start_main u __lxstat64 u __overflow u __printf_chk...略

10,linux下C 質(zhì)數(shù)小程序 段錯誤

1. 段錯誤是什么 一句話來說,段錯誤是指訪問的內(nèi)存超出了系統(tǒng)給這個程序所設(shè)定的內(nèi)存空間,例如訪問了不存在的內(nèi)存地址、訪問了系統(tǒng)保護(hù)的內(nèi)存地址、訪問了只讀的內(nèi)存地址等等情況。這里貼一個對于“段錯誤”的準(zhǔn)確定義(參考answers.com): a segmentation fault (often shortened to segfault) is a particular error condition that can occur during the operation of computer software. in short, a segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempts to access a memory location in a way that is not allowed (e.g., attempts to write to a read-only location, or to overwrite part of the operating system). systems based on processors like the motorola 68000 tend to refer to these events as address or bus errors. segmentation is one approach to memory management and protection in the operating system. it has been superseded by paging for most purposes, but much of the terminology of segmentation is still used, "segmentation fault" being an example. some operating systems still have segmentation at some logical level although paging is used as the main memory management policy. on unix-like operating systems, a process that accesses invalid memory receives the sigsegv signal. on microsoft windows, a process that accesses invalid memory receives the status_access_violation exception. 2. 段錯誤產(chǎn)生的原因 2.1 訪問不存在的內(nèi)存地址 #include #include void main() { int *ptr = null; *ptr = 0; } 2.2 訪問系統(tǒng)保護(hù)的內(nèi)存地址 #include #include void main() { int *ptr = (int *)0; *ptr = 100; } 2.3 訪問只讀的內(nèi)存地址 #include #include #include void main() { char *ptr = "test"; strcpy(ptr, "test"); } 2.4 棧溢出 #include #include void main() { main(); } 等等其他原因。 3. 段錯誤信息的獲取 程序發(fā)生段錯誤時,提示信息很少,下面有幾種查看段錯誤的發(fā)生信息的途徑。 3.1 dmesg dmesg可以在應(yīng)用程序crash掉時,顯示內(nèi)核中保存的相關(guān)信息。如下所示,通過dmesg命令可以查看發(fā)生段錯誤的程序名稱、引起段錯誤發(fā)生的內(nèi)存地址、指令指針地址、堆棧指針地址、錯誤代碼、錯誤原因等。以程序2.3為例: panfeng@ubuntu:~/segfault$ dmesg [ 2329.479037] segfault3[2700]: segfault at 80484e0 ip 00d2906a sp bfbbec3c error 7 in libc-2.10.1.so[cb4000+13e000] 3.2 -g 使用gcc編譯程序的源碼時,加上-g參數(shù),這樣可以使得生成的二進(jìn)制文件中加入可以用于gdb調(diào)試的有用信息。以程序2.3為例: panfeng@ubuntu:~/segfault$ gcc -g -o segfault3 segfault3.c 3.3 nm 使用nm命令列出二進(jìn)制文件中的符號表,包括符號地址、符號類型、符號名等,這樣可以幫助定位在哪里發(fā)生了段錯誤。以程序2.3為例: panfeng@ubuntu:~/segfault$ nm segfault3 08049f20 d _dynamic 08049ff4 d _global_offset_table_ 080484dc r _io_stdin_used w _jv_registerclasses 08049f10 d __ctor_end__ 08049f0c d __ctor_list__ 08049f18 d __dtor_end__ 08049f14 d __dtor_list__ 080484ec r __frame_end__ 08049f1c d __jcr_end__ 08049f1c d __jcr_list__ 0804a014 a __bss_start 0804a00c d __data_start 08048490 t __do_global_ctors_aux 08048360 t __do_global_dtors_aux 0804a010 d __dso_handle w __gmon_start__ 0804848a t __i686.get_pc_thunk.bx 08049f0c d __init_array_end 08049f0c d __init_array_start 08048420 t __libc_csu_fini 08048430 t __libc_csu_init u __libc_start_main@@glibc_2.0 0804a014 a _edata 0804a01c a _end 080484bc t _fini 080484d8 r _fp_hw 080482bc t _init 08048330 t _start 0804a014 b completed.6990 0804a00c w data_start 0804a018 b dtor_idx.6992 080483c0 t frame_dummy 080483e4 t main u memcpy@@glibc_2.0 3.4 ldd 使用ldd命令查看二進(jìn)制程序的共享鏈接庫依賴,包括庫的名稱、起始地址,這樣可以確定段錯誤到底是發(fā)生在了自己的程序中還是依賴的共享庫中。以程序2.3為例: panfeng@ubuntu:~/segfault$ ldd ./segfault3 linux-gate.so.1 => (0x00e08000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00675000) /lib/ld-linux.so.2 (0x00482000)
重新編譯一次試試。另外, 應(yīng)該是for(i = 0;i if(!(found =(trial % *(primes+i)))) break; if(found) *(primes+count) = trial; ++count; }還有,可以用數(shù)組下標(biāo)訪問的,沒必要老是*(a+i)
文章TAG:nm命令linux系統(tǒng)C語言的nm是什么意思

最近更新

  • 西部數(shù)據(jù)elementspassport西部數(shù)據(jù)elementspassport

    西數(shù)的elements和mypassport有什么區(qū)別?Elements和passport在西部-2/西部-2/Elements便攜便攜硬盤是你簡單可靠的附加存儲解決方案。mypassport和elements的區(qū)別:1,接口不一樣,elements是.....

    問答 日期:2023-09-08

  • 23a,電池23A 27A 32A 的區(qū)別23a,電池23A 27A 32A 的區(qū)別

    電池23A27A32A的區(qū)別2,GP超霸23A是一種電池型號嗎3,電池型號1223A中的23A是什么意思呀4,23A12V是幾號電池5,23a23a6,12v23A電池是什么意思7,12v23A電池是什么意思8,23A12v電池的23A是什么意思.....

    問答 日期:2023-09-08

  • dsp開發(fā)板,關(guān)于dsp開發(fā)板問題dsp開發(fā)板,關(guān)于dsp開發(fā)板問題

    關(guān)于dsp開發(fā)板問題2,DSP開發(fā)板可以做個什么東西3,初學(xué)者選什么dsp開發(fā)板好4,DSP的開發(fā)板是先連接仿真器呢還是先給開發(fā)板上電5,dsp開發(fā)板的選擇6,ARM開發(fā)板與DSP開發(fā)板的區(qū)別1,關(guān)于dsp開發(fā)板.....

    問答 日期:2023-09-08

  • 數(shù)字模型,人力資源中什么叫能力數(shù)字模型數(shù)字模型,人力資源中什么叫能力數(shù)字模型

    人力資源中什么叫能力數(shù)字模型2,基于MATLAB建立控制系統(tǒng)的數(shù)字模型1Gs5SS1S24S43,用arcgis10怎樣制數(shù)字地形模型步驟4,什么是系統(tǒng)數(shù)字仿真可以有哪些分類5,名詞解釋攝影測量學(xué)數(shù)字地面模型.....

    問答 日期:2023-09-08

  • 熔斷器的符號,熔斷器符號是不是熔斷器的符號,熔斷器符號是不是

    熔斷器符號是不是2,熔斷器的文字符號是什么3,熔斷器XRNP1005A各字母分別代表什么意思4,熔斷器的符號怎么打5,電氣中fdfdl是什么意思6,關(guān)于電氣元器件名稱的符號的字母表示1,熔斷器符號是不是.....

    問答 日期:2023-09-08

  • 云計(jì)算的核心技術(shù),云計(jì)算的核心技術(shù)是什么云計(jì)算的核心技術(shù),云計(jì)算的核心技術(shù)是什么

    云計(jì)算的核心技術(shù)是什么2,云計(jì)算關(guān)鍵技術(shù)是什么3,云技術(shù)的核心技術(shù)4,云計(jì)算核心技術(shù)介紹5,什么是云計(jì)算關(guān)鍵技術(shù)6,簡述云計(jì)算核心技術(shù)1,云計(jì)算的核心技術(shù)是什么云計(jì)算核心技術(shù)包括,虛擬化技術(shù).....

    問答 日期:2023-09-08

  • 華為p7自動背光黑屏,系統(tǒng)重啟黑屏多為第三方軟件導(dǎo)致華為p7自動背光黑屏,系統(tǒng)重啟黑屏多為第三方軟件導(dǎo)致

    2.軟件原因、軟件沖突、網(wǎng)絡(luò)或gps軟件導(dǎo)致的錯誤,或者軟件觸發(fā)了系統(tǒng)重啟,網(wǎng)絡(luò)和gps軟件引起的軟件沖突或錯誤一般會立即重啟,但與gps軟件和網(wǎng)絡(luò)運(yùn)行有關(guān),因?yàn)橄到y(tǒng)重啟和機(jī)器進(jìn)程有關(guān),所.....

    問答 日期:2023-09-08

  • 銅芯電纜型號規(guī)格,電纜規(guī)格都有哪些的啊銅芯電纜型號規(guī)格,電纜規(guī)格都有哪些的啊

    電纜規(guī)格都有哪些的啊2,銅線電纜線規(guī)格型號平方3,銅電纜有幾種型號4,銅線規(guī)格型號有幾種5,多股銅芯電纜規(guī)格型號有哪些6,銅芯電纜規(guī)格型號有哪些7,銅芯電纜型號規(guī)格是不帶鋼圈的電力電纜那種.....

    問答 日期:2023-09-08