هذا هو الأمر mips-linux-gnu-nm الذي يمكن تشغيله في مزود الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
nm - قائمة الرموز من ملفات الكائن
موجز
نانومتر [-A|-o|- طباعة-اسم الملف] [-a|--دبوغ سيمز]
[-B|- تنسيق = bsd] [-C|- تفكيك[=نمط]]
[-D|--متحرك] [-fشكل|- تنسيق =شكل]
[-g|- خارجي فقط] [-h|--مساعدة]
[-l|--أرقام الأسطر] [-n|-v|- فرز رقمي]
[-P|--قابلية التنقل] [-p|--بدون فرز]
[-r|- عكسي] [-S|--حجم الطباعة]
[-s|- طباعة ارماب] [-t الأصل|- راديكس =الأصل]
[-u|- undefined-only] [-V|--الإصدار]
[-X 32_64] [- معرّف فقط] [--لا ديانجلي]
[--توصيل في الاسم] [- الحجم الفرز] [- رموز خاصة]
[- اصطناعي] [- الهدف =com.bfdname]
[objfile...]
الوصف
جنو nm يسرد الرموز من ملفات الكائن objfile.... إذا لم يتم سرد أي ملفات كائنات كـ
الحجج، nm يفترض الملف أ.
لكل رمز ، nm البرامج:
· قيمة الرمز ، في الجذر المحدد بواسطة الخيارات (انظر أدناه) ، أو السداسي العشري حسب
افتراضي.
· نوع الرمز. يتم استخدام الأنواع التالية على الأقل ؛ والبعض الآخر كذلك ،
اعتمادا على تنسيق ملف الكائن. إذا كانت الأحرف صغيرة ، يكون الرمز محليًا عادةً ؛ لو
الأحرف الكبيرة ، الرمز عالمي (خارجي). ومع ذلك ، هناك عدد قليل من الرموز الصغيرة
التي يتم عرضها للرموز العالمية الخاصة ("u" و "v" و "w").
"أ" قيمة الرمز مطلقة ، ولن تتغير عن طريق المزيد من الارتباط.
"ب"
"ب" الرمز موجود في قسم البيانات غير المهيأة (المعروف باسم BSS).
"C" الرمز شائع. الرموز الشائعة هي بيانات غير مهيأة. عند الربط ،
قد تظهر عدة رموز مشتركة بنفس الاسم. إذا تم تعريف الرمز
في أي مكان ، يتم التعامل مع الرموز الشائعة كمراجع غير محددة.
"D"
"d" الرمز موجود في قسم البيانات التي تمت تهيئتها.
"G"
"g" الرمز موجود في قسم بيانات مهيأ لكائنات صغيرة. بعض ملف الكائن
تسمح التنسيقات بوصول أكثر كفاءة إلى كائنات البيانات الصغيرة ، مثل int
متغير مقابل مصفوفة عالمية كبيرة.
"i" بالنسبة لملفات تنسيق PE ، يشير هذا إلى أن الرمز موجود في قسم خاص بـ
تنفيذ مكتبات DLL. بالنسبة لملفات تنسيق ELF ، يشير هذا إلى أن الرمز هو ملف
وظيفة غير مباشرة. هذا امتداد جنو لمجموعة قياسية من رموز ELF
أنواع. يشير إلى رمز لا يشير إليه النقل
تقييم إلى عنوانه ، ولكن بدلاً من ذلك يجب أن يتم استدعاؤه في وقت التشغيل. وقت التشغيل
سيعيد التنفيذ بعد ذلك القيمة التي سيتم استخدامها في النقل.
الرمز "I" هو إشارة غير مباشرة إلى رمز آخر.
"N" الرمز هو رمز تصحيح الأخطاء.
"p" الرموز موجودة في قسم استرخاء المكدس.
"R"
"r" الرمز موجود في قسم بيانات للقراءة فقط.
"س"
الرمز موجود في قسم بيانات غير مهيأ لكائنات صغيرة.
"T"
"t" الرمز موجود في قسم النص (الرمز).
"U" الرمز غير محدد.
"u" الرمز هو رمز عالمي فريد. هذا امتداد جنو للمجموعة القياسية
من ارتباطات رمز ELF. لمثل هذا الرمز ، سيتأكد الرابط الديناميكي من ذلك
في العملية برمتها ، يوجد رمز واحد فقط بهذا الاسم والنوع قيد الاستخدام.
"الخامس"
"v" الرمز هو كائن ضعيف. عندما يتم ربط رمز محدد ضعيف برمز عادي
رمز محدد ، يتم استخدام الرمز المحدد العادي بدون خطأ. عندما يكون ضعيفا
غير معرف مرتبط و لم يتم تعريف الرمز قيمة الضعيف
يصبح الرمز صفرًا بدون أخطاء. في بعض الأنظمة ، تشير الأحرف الكبيرة إلى أن ملف
تم تحديد القيمة الافتراضية.
"W"
"w" الرمز هو رمز ضعيف لم يتم تمييزه على وجه التحديد ككائن ضعيف
رمز. عندما يتم ربط رمز محدد ضعيف برمز محدد عادي ، فإن
يتم استخدام رمز محدد عادي بدون أخطاء. عندما يكون رمز ضعيف غير محدد
مرتبط ولم يتم تعريف الرمز ، يتم تحديد قيمة الرمز في
بطريقة خاصة بالنظام دون أخطاء. في بعض الأنظمة ، تشير الأحرف الكبيرة إلى أن ملف
تم تحديد القيمة الافتراضية.
"-" الرمز هو رمز طعنات في ملف كائن a.out. في هذه الحالة ، التالي
القيم المطبوعة هي الحقل الآخر للطعنات ، وحقل وصف الطعنات ، ونوع الطعنة.
تستخدم رموز الطعنات للاحتفاظ بمعلومات التصحيح.
"؟" نوع الرمز غير معروف ، أو تنسيق ملف الكائن محدد.
· اسم الرمز.
OPTIONS
الأشكال الطويلة والقصيرة للخيارات ، الموضحة هنا كبدائل ، متكافئة.
-A
-o
- طباعة-اسم الملف
يسبق كل رمز باسم ملف الإدخال (أو عضو الأرشيف) الذي كان فيه
وجدت ، بدلا من تحديد ملف الإدخال مرة واحدة فقط ، قبل كل رموزه.
-a
--دبوغ سيمز
عرض جميع الرموز ، حتى رموز المصحح فقط ؛ عادة لم يتم سرد هذه.
-B كمثل - تنسيق = bsd (للتوافق مع MIPS nm).
-C
--تشابك [=نمط]
فك تشفير (فك التشابك) أسماء الرموز منخفضة المستوى في أسماء على مستوى المستخدم. إلى جانب إزالة أي ملفات
شرطة سفلية أولية مسبقة من قبل النظام ، وهذا يجعل أسماء وظائف C ++ قابلة للقراءة.
المترجمات المختلفة لها أنماط مختلفة من التشويش. أسلوب فك التشابك الاختياري
يمكن استخدام الوسيطة لاختيار أسلوب فك التشابك المناسب للمترجم الخاص بك.
--لا ديانجلي
لا تقم بفك تشابك أسماء الرموز منخفضة المستوى. هذا هو الافتراضي.
-D
--متحرك
اعرض الرموز الديناميكية بدلاً من الرموز العادية. هذا له معنى فقط
للكائنات الديناميكية ، مثل أنواع معينة من المكتبات المشتركة.
-f شكل
- تنسيق =شكل
استخدم تنسيق الإخراج شكل، والتي يمكن أن تكون "bsd" أو "sysv" أو "posix". الافتراضي هو
"بي إس دي". فقط الحرف الأول من شكل غير مهمة؛ يمكن أن يكون إما علوي أو
أحرف صغيرة.
-g
- خارجي فقط
عرض الرموز الخارجية فقط.
-h
--مساعدة
اعرض ملخصًا للخيارات لـ nm والخروج.
-l
--أرقام الأسطر
لكل رمز ، استخدم معلومات التصحيح لمحاولة العثور على اسم الملف ورقم السطر.
للحصول على رمز محدد ، ابحث عن رقم السطر الخاص بعنوان الرمز. ل
رمز غير محدد ، ابحث عن رقم السطر الخاص بإدخال إعادة التوطين الذي يشير إلى
رمز. إذا كان من الممكن العثور على معلومات رقم السطر ، فقم بطباعتها بعد الرمز الآخر
معلومات.
-n
-v
- فرز رقمي
افرز الرموز عدديًا حسب عناوينها ، وليس أبجديًا حسب
أسماء.
-p
--بدون فرز
لا تهتم بفرز الرموز بأي ترتيب ؛ طباعتها بالترتيب الذي صادفته.
-P
--قابلية التنقل
استخدم تنسيق الإخراج القياسي POSIX.2 بدلاً من التنسيق الافتراضي. أي ما يعادل
-f POSIX.
-r
- عكسي
عكس ترتيب الفرز (سواء أكان رقميًا أم أبجديًا) ؛ دع الأخير يأتي
لأول مرة.
-S
--حجم الطباعة
طباعة قيمة وحجم الرموز المحددة لنمط الإخراج "bsd". هذا الخيار
ليس له أي تأثير على تنسيقات الكائنات التي لا تسجل أحجام الرموز ، إلا إذا - الحجم الفرز
يستخدم أيضًا في هذه الحالة يتم عرض الحجم المحسوب.
-s
- طباعة ارماب
عند سرد الرموز من أعضاء الأرشيف ، قم بتضمين الفهرس: تعيين (مخزن في ملف
أرشفة بواسطة ar or رانليب) منها وحدات تحتوي على تعريفات للأسماء.
-t الأصل
- راديكس =الأصل
استعمل الأصل كأصل لطباعة قيم الرمز. يجب ان يكون d للعشري ، o
ثماني أو x للسداسي عشري.
-u
- undefined-only
اعرض الرموز غير المعرفة فقط (تلك الرموز الخارجية لكل ملف كائن).
-V
--الإصدار
إظهار رقم إصدار nm والخروج.
-X تم تجاهل هذا الخيار للتوافق مع إصدار AIX من nm. يستغرق الأمر واحدًا
المعلمة التي يجب أن تكون السلسلة 32_64. الوضع الافتراضي لـ AIX nm يتوافق مع
-X 32، وهو ما لا يدعمه جنو nm.
- معرّف فقط
عرض الرموز المعرفة فقط لكل ملف كائن.
--توصيل في الاسم
قم بتحميل البرنامج المساعد المسمى الاسم لإضافة دعم لأنواع الأهداف الإضافية. هذا الخيار هو
متاح فقط إذا تم إنشاء سلسلة الأدوات مع تمكين دعم البرنامج المساعد.
- الحجم الفرز
افرز الرموز حسب الحجم. يتم حساب الحجم على أنه الفرق بين قيمة
الرمز وقيمة الرمز بالقيمة الأعلى التالية. إذا كان الإخراج "BSD"
يتم استخدام التنسيق يتم طباعة حجم الرمز بدلاً من القيمة و -S يجب
يمكن استخدامها من أجل كل من الحجم والقيمة ليتم طباعتها.
- رموز خاصة
عرض الرموز التي لها معنى خاص محدد الهدف. هذه الرموز
عادة ما يستخدمه الهدف لبعض المعالجة الخاصة ولا تكون مفيدة في العادة
عند تضمينها في قوائم الرموز العادية. على سبيل المثال لـ ARM يستهدف هذا الخيار
سيتخطى رموز التعيين المستخدمة لتمييز الانتقالات بين كود ARM ، رمز THUMB
والبيانات.
- اصطناعي
قم بتضمين رموز تركيبية في الإخراج. هذه هي الرموز الخاصة التي أنشأتها
رابط لأغراض مختلفة. لا يتم عرضها افتراضيًا نظرًا لأنها ليست جزءًا من
كود المصدر الأصلي للثنائي.
- الهدف =com.bfdname
حدد تنسيق رمز كائن بخلاف التنسيق الافتراضي لنظامك.
@ملف
قراءة خيارات سطر الأوامر من ملف. يتم إدراج الخيارات المقروءة بدلاً من ملف
أصلي @ملف اختيار. إذا ملف غير موجود ، أو لا يمكن قراءته ، ثم الخيار
سيتم التعامل معها حرفيا ، ولن تتم إزالتها.
خيارات في ملف مفصولة بمسافة بيضاء. قد يتم تضمين حرف مسافة بيضاء
في خيار من خلال إحاطة الخيار بالكامل بعلامات اقتباس مفردة أو مزدوجة. أي
قد يتم تضمين الحرف (بما في ذلك الشرطة المائلة للخلف) عن طريق بادئة الحرف المراد أن يكون
مشمول بشرطة مائلة للخلف. ال ملف قد تحتوي نفسها على @ إضافيةملف والخيارات؛ أي
ستتم معالجة هذه الخيارات بشكل متكرر.
استخدم mips-linux-gnu-nm عبر الإنترنت باستخدام خدمات onworks.net