Vì vậy, đây là kịch bản mà tôi đang tìm tại địa chỉ:Liên kết với nhiều thư viện, một trong số đó kết thúc tốt đẹp một tập hợp các hệ thống gọi
Tôi có 3 thư viện - A, B và C.
- Thư viện Chức năng thực hiện
foo()
và hiển thị nó dưới dạng API. - Chức năng
foo()
gọi số gọi POSIXwrite()
để ghi một số dữ liệu. - Thư viện B viết trình bao bọc cho cuộc gọi glibc
write()
bằng cách sử dụng tùy chọn liên kết-liên kết. - Thư viện C liên kết với cả A và B.
Bất kỳ write()
cuộc gọi mà các thư viện C làm cho sẽ bị chặn bởi các wrapper thư viện B. Tuy nhiên, câu hỏi của tôi là, nếu thư viện C gọi foo()
, liệu write()
gọi bên trong foo() bị chặn bởi B?
Cố gắng viết mã và xem điều gì sẽ xảy ra, đó là những gì tôi sẽ làm. – fonZ
Chức năng glibc 'write' là một trình bao bọc cho cuộc gọi hệ thống thực. –
Cảm ơn bạn, @JonathanCruz. Đây là những thư viện giả thuyết mà tôi đã nói đến, và hành vi của thư viện bao bọc trong một kịch bản như vậy sẽ là yếu tố quyết định xem tôi có nên viết về nó hay không. Tuy nhiên, bây giờ tôi đang làm việc trên một trường hợp thử nghiệm nhỏ hơn và bây giờ. Tôi chỉ nghĩ rằng chuyển sang stackoverflow có thể cung cấp cho một phản ứng nhanh hơn :) – crazyg33k