2010-09-21 41 views
27

Tôi có thư viện tĩnh, giả sử mystaticlib.a. Tôi muốn xem nội dung của nó, chẳng hạn như số lượng tệp đối tượng bên trong nó.Nội dung của thư viện tĩnh

Tôi làm cách nào để thực hiện điều này trên gcc?

Trả lời

53

Trên gcc, sử dụng ar -t.

-t tùy chọn của gnu archiver (ar) ghi một bảng nội dung lưu trữ vào đầu ra tiêu chuẩn. Chỉ các tệp do toán hạng tệp chỉ định mới được đưa vào danh sách viết. Nếu không có toán hạng tệp nào được chỉ định, tất cả các tệp trong kho lưu trữ sẽ được bao gồm trong thứ tự của tệp lưu trữ.

More info here.

18

Bạn có thể xem nội dung (các tệp .o đi vào đó) và các biểu tượng được xác định bằng cách sử dụng nm. Nếu đây chứa mã C++, bạn nên sử dụng tùy chọn -C để demangle tên biểu tượng:

nm -C libschnoeck.a | less 
9

Trên máy Mac, bạn chỉ cần sử dụng

nm libschnoeck.a | less 

Không có -C tùy chọn với phiên bản Mac của nm.

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