Các bước tạo thư viện liên kết động
Khi biên dịch file đối tượng để đưa vào thư viện liên kết động, cần phải thêm tùy chọn –fpic, (pic – Position Independence Code: Mã lệnh định vị độc lập).
Biên dịch cong.c và tru.c thành file đối tượng phục vụ cho thư viện liên kết động như sau:
$gcc -c -fpic cong.c tru.c
Để tạo ra file thư viện liên kết động từ các file. o, sử dụng trình biên dịch gcc với tùy chọn -shared.
$gcc -shared cong.o tru.o -o libfoo.so
Nếu file libfoo.so đã có trước đó rồi thì không cần dùng đến tùy chọn –o
$gcc -shared cong.o tru.o libfoo.so
Biên dịch lại chương trình program.c như sau:
$gcc program.c -o program -L. -lfoo
Với tùy chọn –L trình biên dịch và liên kết gcc sẽ tìm thư viện libfoo.a hoặc libfoo.so trong thư mục hiện hành để tạo ra file chương trình program.
$export LD_LIBRARY_PATH=.:
Hoặc chỉ định một đường dẫn tuyệt đối bao gồm cả thư mục hiện hành
$exprot LD_LIBRARY_PATH=/myprog/lib: /other/lib:.
Chạy lại chương trình kết quả sẽ như mong muốn:
$ ./program
- Xử lý điều kiện trong DB2
- BÌNH TĨNH TRƯỚC HỘP THƯ SỐ – NGHỆ THUẬT NHẬN DIỆN EMAIL PHISHING TỪ GÓC NHÌN NGHIỆP VỤ
- HÓA THÂN THÀNH "KẺ TẤN CÔNG": KHI HIỂU RÕ CẠM BẪY, TA PHÒNG THỦ VỮNG VÀNG HƠN
- CÁC CÔNG CỤ XÂY DỰNG GIAO DIỆN ỨNG DỤNG BẰNG TRÍ TUỆ NHÂN TẠO (AI)
- Silent Lynx khai thác lỗ hổng WinRAR để triển khai Reverse Shell nhằm tấn công các cơ quan chính phủ