cuốn sách gpt4 ai đã làm

c++ - "Windows doesn' t 支持正确的动态链接是什么意思?”

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 02:05:44 30 4
mua khóa gpt4 Nike

Tôi đã đọc cuộc gọi Linux dlopen()dlsym() các tài liệu tương ứng sẽ mở một thư viện động và tải một biểu tượng vào thư viện.

Các cuộc gọi này có vẻ tương đương với Windows' TảiThư viện()GetProcAddress().

Tôi đã đọc trong bài viết này "Windows không hỗ trợ liên kết động thích hợp":Chạy LLVM pass trên Windows 10 không có kết quả đầu ra trong thiết bị đầu cuối? .

Lý do tại sao các lệnh gọi thư viện động của Linux và Windows lại khác nhau?

Điểm khác biệt duy nhất là thư viện động trên Linux có thể tải các ký hiệu từ tệp thực thi? Nhưng điều này có nghĩa là tệp thực thi cũng là một thư viện trên Linux, bởi vì dlopen() Chạy trên thư viện động.

câu trả lời hay nhất

Windows 确实 Hỗ trợ liên kết động chính xác. Điểm khác biệt là Windows không hỗ trợKhông đúngLiên kết động, bạn liên kết tệp thực thi với thư viện (tức là sai cách). Lỗi này không xảy ra trên Windows vì tệp thực thi của nó không có bảng xuất.

Nói cách khác, có điều gì đó không ổn với logic của bạn. Không có nhiều khác biệt giữa các tệp thực thi và thư viện động, ngay cả trên Windows. LoadLibrary thực sự sẽ tải tệp thi hành được; Nhận địa chỉ Proc.

Đối với logic trình cắm thêm, có thể dễ dàng sắp xếp trong C++ bằng cách sử dụng các lớp trừu tượng (thuần ảo) làm giao diện.

Về c++ - "Điều đó có nghĩa là gì khi Windows không hỗ trợ liên kết động thích hợp?", chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/41996607/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress