Nm - فرمان لینوکس - فرمان یونیکس

nm - لیست نمادهای از فایل های شیء

خلاصه

nm [ -a | --debug-syms ] [ -g | --extern-only ]
[ -B ] [ -C | --demangle [= style ]] [ -D | - دینامیک ]
[ -S | - اندازه چاپ ] [ -s | - چاپ بنفشه ]
[ -A | -o | - نام فایل چاپی
[ -n | -v | - عددی مرتب سازی بر ] [ -p | - مرتب کردن بر اساس ]
[ -r | - معکوس کردن مرتب سازی بر اساس ] [ - sort مرتب سازی بر اساس ] [ -u | --فقط فقط ]
[ -t radix | --radix = radix ] [ -P | - قابل حمل ]
[ --target = bfdname ] [ -f قالب | - format = format ]
[ فقط تعریف شده است ] [ -l | - خط-اعداد ] [ --no-demangle ]
[ -V | --version ] [ -X 32_64 ] [ --help ] [ objfile ...]

شرح

GNU nm نماد ها از پرونده های شیء objfile را لیست می کند .... اگر هیچ پرونده ی جغرافیایی به عنوان آرگومان فهرست نشده است، nm فایل a.out را فرض می کند.

برای هر نماد، Nm نشان می دهد:

*

مقدار نماد، در radix انتخاب شده توسط گزینه (نگاه کنید به پایین)، و یا هگزادسیمال به طور پیش فرض.

*

نوع نماد حداقل موارد زیر استفاده می شود: دیگران نیز، بسته به فرمت فایل شی، نیز هستند. اگر حروف کوچک است، نماد محلی است؛ اگر بزرگ، نماد جهانی (خارجی) است.

الف

ارزش نمادین مطلق است و با اتصال بیشتر تغییر نخواهد کرد.

ب

این نماد در بخش داده نشده است (به نام BSS).

سی

نماد رایج است. نمادهای مشترک داده های بدون اطلاعات هستند. هنگام پیوند، چندین علامت مشترک ممکن است با همان نام ظاهر شوند. اگر نماد در هر نقطه تعریف شده باشد، نمادهای رایج به عنوان مرجع نامشخص رفتار می شوند.

د

نماد در بخش اطلاعات اولیه شده است.

G

نماد در یک بخش اطلاعات اولیه برای اشیاء کوچک است. بعضی از فرمتهای فایل شیء، دسترسی به داده های کارآمدتری را به اشیاء کوچک داده، مانند متغیر جهانی int نسبت به یک آرایه بزرگ جهانی، می دهد.

من

نماد یک اشاره غیر مستقیم به نماد دیگری است. این GNUextension برای فرمت فایل a.out است که به ندرت مورد استفاده قرار می گیرد.

N

نماد یک نماد اشکال زدایی است.

ر

نماد در یک بخش اطلاعات فقط خواندنی است.

S

نماد در یک بخش داده نشده برای اشیاء کوچک است.

T

نماد در بخش متن (کد) قرار دارد.

U

نماد نامشخص است.

V

نماد یک شیء ضعیف است. هنگامی که یک نماد ضعیف تعریف شده با یک نماد تعریف شده طبیعی مرتبط است، نماد تعریف شده با عادی بدون خطا استفاده می شود. هنگامی که یک نماد نامشخص ضعیف مرتبط است و نماد تعریف نشده است، مقدار نماد ضعیف بدون هیچ خطایی صفر می شود.

W

نماد یک نماد ضعیف است که به طور خاص به عنوان یک نماد شیء ضعیف نشانه گذاری نشده است. هنگامی که یک نماد ضعیف تعریف شده با یک نماد تعریف شده طبیعی مرتبط است، نماد تعریف شده با عادی بدون خطا استفاده می شود. هنگامی که یک نماد نامشخص ضعیف مرتبط است و نماد تعریف نشده است، مقدار نماد ضعیف بدون هیچ خطایی صفر می شود.

-

نماد نماد stabs در یک فایل شیء a.out است. در این حالت، مقادیر بعدی چاپ شده، مقادیر دیگر stabs، فیلد desc ستون ها و نوع خراب است. نمادهای پایانی برای نگهداری اطلاعات اشکال زدایی استفاده می شود.

؟

نوع نماد ناشناخته است یا خاصیت خاص فایل پرونده.

*

نام نماد

گزینه ها

فرم های طولانی و کوتاهی از گزینه ها، که در اینجا به عنوان جایگزین نشان داده شده، معادل هستند.

-A

-o

- نام فایل چاپی

قبل از هر نماد با نام فایل ورودی (یا عضو آرشیو) که در آن یافت شد، قبل از شناسایی یک فایل ورودی یک بار قبل از همه نمادها، قبل از هر نماد قرار می گیرد.

-a

--debug-syms

نمادهای تمام نمادها، حتی نمادها تنها اشکال زدایی؛ به طور معمول این لیست نشده است.

-B

همانند --format = bsd (برای سازگاری با MIPS nm ).

-C

- خرده سنگ [= سبک ]

Decode ( demangle ) نمادهای پایین سطح را به نام های سطح کاربر نشان می دهد. علاوه بر از بین بردن هر زیرخطی اولیه که از قبل توسط سیستم ساخته شده است، این باعث می شود که تابع C ++ قابل خواندن باشد. کامپایلرهای مختلف دارای سبک های مختلف انجلینگ هستند. آرگومان سبک اختیاری اختیاری می تواند برای انتخاب یک سبک تنزل مناسب برای کامپایلر مورد استفاده قرار گیرد.

-no-demangle

آیا نمادهای نامناسب در سطح پایین را تقسیم نمیکنید. این پیش فرض است.

-D

- دینامیک

نمادهای پویا به جای علامت های عادی نمایش داده می شود. این فقط برای اشیاء پویا، مانند انواع خاصی از کتابخانه های به اشتراک گذاشته شده معنی دار است.

-f فرمت

--format = فرمت

از فرمت فرمت خروجی استفاده کنید که می تواند "bsd"، "sysv" یا "posix" باشد. پیش فرض "bsd" است. فقط اولین کاراکتر فرمت قابل توجه است؛ می توان آن را بزرگ یا کوچک نام برد.

-g

--extern-only

فقط نمادهای خارجی نمایش داده شود.

-l

- خط شماره

برای هر نماد، از اطلاعات اشکال زدایی برای پیدا کردن یک نام فایل و شماره خط استفاده کنید. برای یک نماد تعریف شده، به دنبال شماره خط آدرس نماد است. برای نماد نامشخص، به دنبال شماره خط ورودی نقل مکان که اشاره به نماد است. اگر اطلاعات شماره خط را پیدا کنید، آن را بعد از اطلاعات نماد دیگر چاپ کنید.

-n

-v

- عددی مرتب سازی بر

علامت های مرتب سازی بر اساس آدرس هایشان، به جای حروف الفبا توسط نام آنها.

- مرتب کردن بر اساس

نگران نباشید که نمادها را در هر جهت مرتب کنید آنها را به ترتیب مواجه می کنند.

- قابل حمل

از فرمت خروجی استاندارد POSIX.2 به جای فرمت پیش فرض استفاده کنید. معادل با f-posix .

-S

- اندازه چاپ

اندازه چاپی نمادهای تعریف شده برای فرمت خروجی "bsd".

-s

--برنامه

هنگام فهرست علائم از اعضای آرشیو، شامل فهرست: نقشه برداری (ذخیره شده در بایگانی توسط ar یا ranlib ) که کدام ماژول شامل تعاریف برای نام است.

-r

- معکوس کردن

معکوس مرتب سازی (عددی یا حروف الفبا)؛ بگذار آخر آخر بیا.

- مرتب کردن بر اساس -

نمادهای مرتب سازی براساس اندازه اندازه به عنوان تفاوت بین مقدار نماد و ارزش نماد با مقدار بالاتر بعدی محاسبه می شود. اندازه نماد، به جای ارزش، چاپ می شود.

-t رادیو

--radix = radix

برای چاپ مقادیر نماد از radix به عنوان radix استفاده کنید. باید برای دهدهی، o برای هشت، یا x برای هگزادسیمال، d باشد.

--target = bfdname

فرمت کد اجرایی به غیر از فرمت پیش فرض سیستم خود را مشخص کنید.

-u

--فقط فقط

فقط نمادهای نامشخص (آنهایی که به هر پرونده هر فایلی خارجی هستند) نمایش داده می شوند.

- فقط با تعریف

نمایش فقط نمادهای تعریف شده برای هر فایل شیء.

-V

- نسخه

شماره نسخه Nm و خروج را نمایش دهید.

-ایکس

این گزینه برای سازگاری با نسخه AIX nm نادیده گرفته می شود. یک پارامتر که باید رشته 32_64 باشد طول می کشد. حالت پیش فرض AIX nm مربوط به -X 32 است که توسط GNU GN پشتیبانی نمی شود.

--کمک

خلاصه ای از گزینه ها را به nm نمایش دهید و خروج را نشان دهید.

همچنین ببینید

ar (1)، objdump (1)، ranlib (1)، و اطلاعات ورودی برای binutils .

مهم: از دستور man ( ٪ man ) برای دیدن نحوه استفاده از دستور در رایانه خاص خود استفاده کنید.