Tên mởrộng .a, hoặc .so hoặc .sa và bắt đầu bằng tiếp
đầu ngữlib.
Ví dụ: libutil.a, libc.sa
Có 2 loại thư viện liên kết:
Thư viện liên kết tĩnh.
Thư viện liên kết động (thường phần mởrộng là .so).
Khi biên dịch, thông thường trình liên kết sẽtìm thư viện trong 2 thư mục chuẩn /usr/lib và /lib
Dùng lệnh ls /usr/lib hoặc ls /lib đểxem các thư viện hệ
thống đang sửdụng.
Ví dụ:
$gcc test.c -o test /usr/lib/libm.a Yêu cầu gcc biên dịch file
test.c và sửdụng thư viện libm.a trong thư mục chuẩn
/usr/lib phuongnh@it-hut.edu.vn 10
Các file thư viện
Thư viện phải bắt buộc có tiếp đầu ngữ
lib và tên mởrộng .a hoặc .so, trình biên dịch cho phép sửdụng tùy chọn –l ngắn gọn:
$gcc test.c –o test –lm
Nếu đặt thư viện trong một thư mục khác, có thểchỉđịnh gcc tìm kiếm trực tiếp với tùy chọn –L:
$gcc test.c –o test –L /myproject/lib -ltool gcc sẽmởrộng –l thành tiếp đầu ngữlib
và tìm libm.a hoặc libm.so trong thư mục
chuẩn đểliên kết
Hỏi - đáp Lời hay ý đẹp
"Kẻtrí là kẻbiết người, kẻnhân là kẻ yêu người"
1
Một số bài tập lập trình shell
Nguyễn Hồng Phương
Email: phuongnh@it-hut.edu.vn Site: http://is.hut.vn/~phuongnh Bộmôn Các hệthống thông tin Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội
phuongnh@it-hut.edu.vn 2 Bài 1
Đềbài: Viết file chào đểhiển thịlời chào thích hợp: t < 12h: Good morning 12h ≤t ≤18h: Good afternoon t > 18h: Good evening phuongnh@it-hut.edu.vn 3 Bài 1
Lời giải: file chao.sh t=`date + %H` if [ $t -lt 12 ] then
echo "Good morning" elif [ $t -lt 18 ] then
echo "Good afternoon" else
echo "Good evening" fi
phuongnh@it-hut.edu.vn 4 Bài 2
Đềbài: dùng lệnh case viết lại file chao.sh trên đây.
Bài 2Nhắc lại: