Chính xác thì -rdynamic
(hoặc --export-dynamic
ở cấp độ liên kết) làm gì và nó liên quan đến mức hiển thị biểu tượng như được xác định bởi cờ -fvisibility*
hoặc mức độ hiển thị pragma
s và __attribute__
?Chính xác `-rdynamic` làm gì và khi nào cần thiết?
Đối --export-dynamic
, ld(1) đề cập:
... Nếu bạn sử dụng "dlopen" để tải một đối tượng năng động mà cần phải tham khảo lại để những biểu tượng được xác định bởi các chương trình, chứ không phải là một số động khác đối tượng, sau đó bạn có thể sẽ cần để sử dụng tùy chọn này khi liên kết chính chương trình. ...
Tôi không chắc mình hoàn toàn hiểu điều này. Bạn có thể vui lòng cung cấp một ví dụ không hoạt động mà không có -rdynamic
nhưng có làm việc với nó không?
Sửa: Tôi thực sự cố gắng biên soạn một vài thư viện hình nộm (tập tin duy nhất, đa tập tin, mức -O khác nhau, một số cuộc gọi liên chức năng, một số biểu tượng ẩn, một số có thể nhìn thấy), có và không có -rdynamic
, và cho đến nay tôi đã nhận được byte giống hệt nhau kết quả đầu ra (khi vẫn giữ tất cả các cờ khác liên tục), điều này khá khó hiểu.
Ví dụ bạn làm cho nó hoàn toàn rõ ràng ý nghĩa của manpage. Cảm ơn rất nhiều! – PSkocik