Câu trả lời:
Để tạo thư viện dùng chung, trước tiên bạn cần biên dịch mã C bằng -fPICcờ (mã độc lập vị trí).
gcc -c -fPIC hello.c -o hello.o
Điều này sẽ tạo ra một tệp đối tượng (.o), bây giờ bạn lấy nó và tạo tệp .so:
gcc hello.o -shared -o libhello.so
EDIT : Gợi ý từ các ý kiến:
Bạn có thể dùng
gcc -shared -o libhello.so -fPIC hello.c
để làm điều đó trong một bước. - Jonathan Leffler
Tôi cũng đề nghị thêm -Wallđể nhận tất cả các cảnh báo và -gđể lấy thông tin gỡ lỗi cho các gcclệnh của bạn . - Starynkevitch
gcc -shared -o libhello.so -fPIC hello.cđể làm điều đó trong một bước.
-Wallđể nhận tất cả các cảnh báo và -gđể lấy thông tin gỡ lỗi cho các gcclệnh của bạn .
.ovề cơ bản là một tệp đối tượng cho tệp nguồn, trước khi liên kết chúng lại với nhau, thành tệp thực thi cuối cùng. Vì vậy, khi bạn chạy gcc -o abc.c abc.omột tệp đối tượng sẽ được tạo ra. Ans sau đó bạn có thể sử dụng abc.otập tin này để tạo .sotập tin. Để tạo rất nhiều tệp, tất cả những gì bạn cần là một mã c chính xác được viết trong một .ctệp. PS: Chỉ để xóa nghi ngờ của bạn trong bình luận.