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

python tải thư viện tĩnh

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

Tôi gặp sự cố mới khi tải dll. Tôi không gặp vấn đề gì khi tải dll có phần mở rộng ".so", ".dll". Bây giờ tôi đang gặp một số vấn đề với dll có phần mở rộng ".a". Nó là một thư viện tĩnh. Dưới đây là mã của tôi

Security_dll = ctypes.cdll.LoadLibrary("./staticlibraryname.a")

Nhân tiện, môi trường hệ điều hành của tôi là suse mở linux. Thông báo lỗi chính xác tôi nhận được khi cố gắng thực hiện việc này là:

Tệp "module3.py", dòng 3, trong 
Security_dll = ctypes.cdll.LoadLibrary("./libSecurityProductionStaticlib.a")
Tệp "/usr/lib64/python2.7/ctypes/__init__.py", dòng 440, trong LoadLibrary
trả về self._dlltype(name)
Tệp "/usr/lib64/python2.7/ctypes/__init__.py", dòng 362, trong __init__
self._handle = _dlopen(self._name, chế độ)
OSError: ./libSecurityProductionStaticlib.a: tiêu đề ELF không hợp lệ

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

Bạn không thể tải thư viện tĩnh vào mã đang chạy. Chỉ có thể tải các thư viện liên kết động (.so và .dll). Thư viện tĩnh và thư viện động có định dạng, thuộc tính và cách sử dụng khác nhau. Thư viện tĩnh chỉ có thể được liên kết với các đối tượng khác tại thời điểm biên dịch chứ không phải khi chạy. Thư viện động trên Linux thực chất là một file ELF không có chức năng main. Thư viện tĩnh là một kho lưu trữ các hàm.

Về việc tải thư viện tĩnh bằng python, 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/41052832/

25 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