Nếu tập tin thực thi của tôi gọi dlopen
để tải thư viện nhưng bỏ qua gọi dlclose
, thư viện sẽ vẫn được tải cho đến khi quá trình thoát và hệ điều hành buộc nó phải tải.Có rò rỉ tải nếu dlopen() được gọi từ thư viện dlopen'd không?
Nếu tôi tải a.so
mà tải b.so
, sau đó gọi dlclose
trên a.so
, nào hệ điều hành dỡ bỏ b.so
không?
Làm cách nào để so sánh với trường hợp tương tự bằng cách sử dụng Microsoft tương đương, LoadLibraryEx
?
Cảm ơn. Bạn có biết thông tin này có thể được tìm thấy trong tài liệu cho 'dl *' không? Tôi đọc http://linux.die.net/man/3/dlopen nhưng không tìm thấy nó – Kietz
Tôi làm chủ yếu là lập trình Windows, không phải Linux/Unix, nhưng tôi không nghĩ rằng điều này cần phải được chính thức tài liệu. Tất cả một mô-đun có thể làm là chịu trách nhiệm cho chính nó thư viện tải wrt. Điều gì xảy ra nếu thư viện là một bên thứ ba, nơi bên thứ ba có thể tải 1,2,3 hoặc không có mô-đun nào, dựa trên một số cài đặt, môi trường đang được chạy, v.v. Ứng dụng của bạn sẽ theo dõi thứ ba này hay không mô-đun bên và những gì nó thực hiện trong nội bộ? Tất nhiên là không. – PaulMcKenzie
Vì vậy, đây chắc chắn là trường hợp cho 'LoadLibrary *' và 'GetModuleHandle *'? Bạn có thể chỉ cho tôi tài liệu hướng dẫn cho những người đó không? – Kietz