2009-07-30 16 views
26

Bạn có thể cho tôi biết cách tôi có thể đổ tất cả các ký hiệu trong tệp .a trên MacOS X không?Làm thế nào để kết xuất các ký hiệu trong một tệp .a

Tôi gặp phải lỗi liên kết trong khi biên dịch sự cố C++ của mình trên MacOS X. Tôi muốn tìm hiểu xem tệp sybmols có tồn tại trên tệp .a mà tôi đang liên kết hay không.

Cảm ơn bạn.

+5

'nm -gC yourLib.a' (dựa trên http://stackoverflow.com/questions/34732/how-do-i-list-the-symbols-in-a-so -file) – sligocki

+0

@sligocki Tùy chọn -C dường như không tồn tại trên thực hiện của Apple – 16807

Trả lời

46

man nm

Nm hiển thị danh sách tên (biểu tượng bảng) của mỗi tập tin đối tượng trong danh sách tranh cãi. Nếu một đối số là một kho lưu trữ , một danh sách cho mỗi đối tượng tệp trong lưu trữ sẽ được tạo. Tệp có thể có dạng libx.a (x.o), trong trường hợp chỉ có các biểu tượng từ thành viên của tệp đối tượng được liệt kê. ... etc

+1

Một chương trình hữu ích tương tự là "chuỗi", in tất cả mọi thứ trong một nhị phân trông giống như một chuỗi chấm dứt null. – markets

+3

Bạn đã nói với anh ta công cụ này, nhưng không phải là làm thế nào để làm điều đó. Apple có phiên bản 'nm' bị downlevel (hoặc chậm phát triển), không chấp nhận các công tắc nổi tiếng như '-D'. – jww

Các vấn đề liên quan