นี่คือคำสั่ง h8300-hitachi-coff-nm ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
nm - รายการสัญลักษณ์จากไฟล์อ็อบเจ็กต์
เรื่องย่อ
นาโนเมตร [-a⎪--debug-syms] [-g⎪--ภายนอกเท่านั้น]
[-B] [-C⎪-- รื้อ[=สไตล์--D⎪--พลวัต]
[-S⎪--พิมพ์ขนาด] [-s⎪--พิมพ์-armap]
[-A⎪-o⎪--พิมพ์ชื่อไฟล์][--พิเศษ-syms]
[-n⎪-v⎪--การเรียงลำดับตัวเลข] [-p⎪--ไม่เรียงลำดับ]
[-r⎪--reverse-เรียงลำดับ] [--ขนาด-การเรียงลำดับ] [-u⎪--undefined-เท่านั้น]
[-t Radix⎪--รัศมี=Radix] [-P⎪--การพกพา]
[--เป้าหมาย=bfdname] [-fรูป⎪--รูปแบบ=รูป]
[--define-only] [-l⎪--line-หมายเลข] [--ไม่มี-demangle]
[-V⎪--รุ่น] [-X 32_64] [--ช่วยด้วย] [อ็อบเจกต์ไฟล์... ]
DESCRIPTION
GNU nm แสดงรายการสัญลักษณ์จากไฟล์อ็อบเจ็กต์ อ็อบเจกต์ไฟล์.... หากไม่มีไฟล์วัตถุอยู่ในรายการเป็น
อาร์กิวเมนต์ nm ถือว่าไฟล์ ออก.
สำหรับแต่ละสัญลักษณ์ nm แสดงให้เห็นว่า:
· ค่าสัญลักษณ์ ในฐานที่เลือกโดยตัวเลือก (ดูด้านล่าง) หรือเลขฐานสิบหกโดย
ค่าเริ่มต้น.
· ประเภทสัญลักษณ์ อย่างน้อยก็ใช้ประเภทต่อไปนี้ อื่น ๆ เช่นกัน
ขึ้นอยู่กับรูปแบบไฟล์อ็อบเจ็กต์ หากเป็นตัวพิมพ์เล็ก สัญลักษณ์จะเป็นแบบโลคัล ถ้าตัวพิมพ์ใหญ่
สัญลักษณ์เป็นสากล (ภายนอก)
"A" ค่าของสัญลักษณ์เป็นค่าสัมบูรณ์ และจะไม่ถูกเปลี่ยนแปลงโดยการเชื่อมโยงเพิ่มเติม
"B" สัญลักษณ์อยู่ในส่วนข้อมูลที่ยังไม่ได้กำหนดค่าเริ่มต้น (เรียกว่า BSS)
"C" เป็นสัญลักษณ์ทั่วไป สัญลักษณ์ทั่วไปคือข้อมูลที่ยังไม่ได้กำหนดค่าเริ่มต้น เมื่อทำการเชื่อมโยง
สัญลักษณ์ทั่วไปหลายตัวอาจปรากฏขึ้นพร้อมกับชื่อเดียวกัน หากมีการกำหนดสัญลักษณ์ไว้
ทุกที่ สัญลักษณ์ทั่วไปจะถือว่าเป็นการอ้างอิงที่ไม่ได้กำหนดไว้
"D" สัญลักษณ์อยู่ในส่วนข้อมูลเริ่มต้น
"G" สัญลักษณ์นี้อยู่ในส่วนข้อมูลที่เริ่มต้นสำหรับออบเจกต์ขนาดเล็ก ไฟล์อ็อบเจ็กต์บางส่วน
รูปแบบอนุญาตให้เข้าถึงออบเจ็กต์ข้อมูลขนาดเล็กได้อย่างมีประสิทธิภาพมากขึ้น เช่น global int
ตัวแปรเมื่อเทียบกับอาร์เรย์ทั่วโลกขนาดใหญ่
"ฉัน" สัญลักษณ์นี้เป็นการอ้างอิงทางอ้อมไปยังสัญลักษณ์อื่น นี่คือส่วนขยายของ GNU ถึง
รูปแบบไฟล์ออบเจ็กต์ a.out ซึ่งไม่ค่อยได้ใช้
"N" สัญลักษณ์นี้เป็นสัญลักษณ์การดีบัก
"R" สัญลักษณ์อยู่ในส่วนข้อมูลแบบอ่านอย่างเดียว
"S" สัญลักษณ์อยู่ในส่วนข้อมูลที่ยังไม่ได้กำหนดค่าเริ่มต้นสำหรับวัตถุขนาดเล็ก
"T" สัญลักษณ์อยู่ในส่วนข้อความ (รหัส)
"U" สัญลักษณ์ไม่ได้กำหนดไว้
"V" สัญลักษณ์เป็นวัตถุที่อ่อนแอ เมื่อสัญลักษณ์ที่กำหนดอ่อนแอเชื่อมโยงกับสัญลักษณ์ปกติ
สัญลักษณ์ที่กำหนด ใช้สัญลักษณ์ที่กำหนดตามปกติโดยไม่มีข้อผิดพลาด เมื่ออ่อนแอ
สัญลักษณ์ที่ไม่ได้กำหนดถูกเชื่อมโยงและไม่ได้กำหนดสัญลักษณ์ ค่าของจุดอ่อน
สัญลักษณ์จะกลายเป็นศูนย์โดยไม่มีข้อผิดพลาด
"W" สัญลักษณ์เป็นสัญลักษณ์ที่อ่อนแอซึ่งไม่ได้รับการติดแท็กเป็นวัตถุที่อ่อนแอโดยเฉพาะ
เครื่องหมาย. เมื่อสัญลักษณ์ที่กำหนดอ่อนแอเชื่อมโยงกับสัญลักษณ์ที่กำหนดไว้ตามปกติ
ใช้สัญลักษณ์ที่กำหนดไว้ตามปกติโดยไม่มีข้อผิดพลาด เมื่อสัญลักษณ์ที่ไม่ได้กำหนดไว้อ่อนแอคือ
เชื่อมโยงและไม่ได้กำหนดสัญลักษณ์ ค่าของสัญลักษณ์ถูกกำหนดใน
ลักษณะเฉพาะของระบบโดยไม่มีข้อผิดพลาด ในบางระบบ ตัวพิมพ์ใหญ่แสดงว่า a
มีการระบุค่าเริ่มต้น
"-" สัญลักษณ์คือสัญลักษณ์แทงในไฟล์อ็อบเจ็กต์ a.out ในกรณีนี้ ต่อไป
ค่าที่พิมพ์คือช่องอื่น ๆ ของการแทง ฟิลด์รายละเอียดการแทง และประเภทการแทง
สัญลักษณ์แทงถูกใช้เพื่อเก็บข้อมูลการดีบัก
"?" ไม่รู้จักประเภทสัญลักษณ์หรือรูปแบบไฟล์อ็อบเจ็กต์เฉพาะ
· ชื่อสัญลักษณ์
OPTIONS
ตัวเลือกแบบยาวและแบบสั้นที่แสดงที่นี่เป็นทางเลือกนั้นเทียบเท่ากัน
-A
-o
--พิมพ์ชื่อไฟล์
นำหน้าแต่ละสัญลักษณ์ด้วยชื่อของไฟล์อินพุต (หรือสมาชิกที่เก็บถาวร) ที่เป็น
พบ แทนที่จะระบุไฟล์อินพุตเพียงครั้งเดียว ก่อนสัญลักษณ์ทั้งหมด
-a
--debug-syms
แสดงสัญลักษณ์ทั้งหมด แม้แต่สัญลักษณ์ดีบักเกอร์เท่านั้น โดยปกติสิ่งเหล่านี้จะไม่อยู่ในรายการ
-B เหมือนกับ --format=bsd (เพื่อความเข้ากันได้กับ MIPS nm).
-C
--ดีมาเกิล[=สไตล์]
ถอดรหัส (ทำให้ยุ่งเหยิง) ชื่อสัญลักษณ์ระดับต่ำเป็นชื่อระดับผู้ใช้ นอกจากการลบใด ๆ
ขีดล่างเริ่มต้นที่นำหน้าโดยระบบ ซึ่งจะทำให้ชื่อฟังก์ชัน C++ สามารถอ่านได้
คอมไพเลอร์ที่ต่างกันมีรูปแบบการจัดการที่แตกต่างกัน รูปแบบการแยกส่วนเสริม
สามารถใช้อาร์กิวเมนต์เพื่อเลือกรูปแบบการแยกส่วนที่เหมาะสมสำหรับคอมไพเลอร์ของคุณ
--ไม่มี-demangle
อย่าทำลายชื่อสัญลักษณ์ระดับต่ำ นี่คือค่าเริ่มต้น
-D
--พลวัต
แสดงสัญลักษณ์ไดนามิกมากกว่าสัญลักษณ์ปกติ แค่นี้ก็มีความหมาย
สำหรับอ็อบเจ็กต์ไดนามิก เช่น ไลบรารีที่แบ่งใช้บางประเภท
-f รูป
--รูปแบบ=รูป
ใช้รูปแบบผลลัพธ์ รูปซึ่งสามารถเป็น "bsd", "sysv" หรือ "posix" ค่าเริ่มต้นคือ
"บีเอสดี". เฉพาะอักขระตัวแรกของ รูป มีความสำคัญ มันสามารถเป็นได้ทั้งบนหรือ
ตัวพิมพ์เล็ก
-g
--ภายนอกเท่านั้น
แสดงเฉพาะสัญลักษณ์ภายนอก
-l
--line-หมายเลข
สำหรับแต่ละสัญลักษณ์ ใช้ข้อมูลการดีบักเพื่อค้นหาชื่อไฟล์และหมายเลขบรรทัด
สำหรับสัญลักษณ์ที่กำหนด ให้มองหาหมายเลขบรรทัดของที่อยู่ของสัญลักษณ์ สำหรับ
สัญลักษณ์ที่ไม่ได้กำหนด ให้มองหาหมายเลขบรรทัดของรายการย้ายซึ่งหมายถึง
เครื่องหมาย. หากพบข้อมูลหมายเลขบรรทัดให้พิมพ์ตามสัญลักษณ์อื่น
ข้อมูล
-n
-v
--การเรียงลำดับตัวเลข
จัดเรียงสัญลักษณ์เป็นตัวเลขตามที่อยู่ แทนที่จะเรียงตามตัวอักษร
ชื่อ
-p
--ไม่เรียงลำดับ
อย่ารำคาญที่จะเรียงลำดับสัญลักษณ์ในลำดับใด ๆ พิมพ์ตามลำดับที่พบ
-P
--การพกพา
ใช้รูปแบบเอาต์พุตมาตรฐาน POSIX.2 แทนรูปแบบเริ่มต้น เทียบเท่ากับ
-f POSIX.
-S
--พิมพ์ขนาด
ขนาดการพิมพ์ ไม่ใช่ค่า ของสัญลักษณ์ที่กำหนดไว้สำหรับรูปแบบเอาต์พุต "bsd"
-s
--พิมพ์-armap
เมื่อแสดงรายการสัญลักษณ์จากสมาชิกที่เก็บถาวร ให้รวมดัชนี: การแมป (เก็บไว้ใน
เก็บโดย ar or วิ่ง) โมดูลใดมีคำจำกัดความสำหรับชื่อใด
-r
--reverse-เรียงลำดับ
กลับลำดับของการเรียงลำดับ (ไม่ว่าจะเป็นตัวเลขหรือตัวอักษร); ให้คนสุดท้ายมา
ก่อน
--ขนาด-การเรียงลำดับ
จัดเรียงสัญลักษณ์ตามขนาด ขนาดคำนวณเป็นผลต่างระหว่างค่าของ
สัญลักษณ์และค่าของสัญลักษณ์ที่มีค่าสูงกว่าถัดไป หากเอาต์พุต "bsd"
รูปแบบจะใช้ขนาดของสัญลักษณ์ที่พิมพ์มากกว่าค่าและ -S ต้อง
เพื่อใช้ในการสั่งพิมพ์ทั้งขนาดและมูลค่า
--พิเศษ-syms
แสดงสัญลักษณ์ที่มีความหมายพิเศษเฉพาะเป้าหมาย สัญลักษณ์เหล่านี้คือ
มักจะใช้โดยเป้าหมายสำหรับการประมวลผลพิเศษบางอย่างและโดยปกติไม่เป็นประโยชน์
เมื่อรวมอยู่ในรายการสัญลักษณ์ปกติ ตัวอย่างเช่นสำหรับ ARM กำหนดเป้าหมายสิ่งนี้
ตัวเลือกจะข้ามสัญลักษณ์การทำแผนที่ที่ใช้เพื่อทำเครื่องหมายการเปลี่ยนผ่านระหว่างรหัส ARM
รหัสและข้อมูล THUMB
-t Radix
--รัศมี=Radix
ใช้ Radix เป็นฐานสำหรับการพิมพ์ค่าสัญลักษณ์ มันต้อง d สำหรับทศนิยม o
สำหรับเลขฐานแปดหรือ x สำหรับเลขฐานสิบหก
--เป้าหมาย=bfdname
ระบุรูปแบบโค้ดอ็อบเจ็กต์ที่ไม่ใช่รูปแบบเริ่มต้นของระบบของคุณ
-u
--undefined-เท่านั้น
แสดงเฉพาะสัญลักษณ์ที่ไม่ได้กำหนด (สัญลักษณ์ภายนอกแต่ละไฟล์อ็อบเจ็กต์)
--define-only
แสดงเฉพาะสัญลักษณ์ที่กำหนดไว้สำหรับแต่ละไฟล์อ็อบเจ็กต์
-V
--รุ่น
แสดงหมายเลขเวอร์ชันของ nm และออก
-X อ็อพชันนี้ถูกละเว้นเนื่องจากความเข้ากันได้กับเวอร์ชัน AIX ของ nm. มันต้องใช้เวลาหนึ่ง
พารามิเตอร์ที่ต้องเป็นสตริง 32_64. โหมดเริ่มต้นของ AIX nm สอดคล้องกับ
-X 32ซึ่ง GNU . ไม่รองรับ nm.
--ช่วยด้วย
แสดงบทสรุปของตัวเลือกเพื่อ nm และออก
ใช้ h8300-hitachi-coff-nm ออนไลน์โดยใช้บริการ onworks.net