2013-04-04 18 views
5

Trong giai đoạn sau của gnu-làm cho quá trình gmake gửi một lệnh tương tự như:Cờ -lrt trong gnu-make là gì?

gcc -static foo.so.0 bar.o bizz.o buzz.o -pthreads -lrt 

Trong lệnh rằng, những gì hệ điều hành DOS các -lrt nghĩa là gì?

+0

liên kết với librt – david

+1

'-l' = thư viện liên kết, vì vậy bạn đang yêu cầu gcc sử dụng thư viện' rt' trong khi biên dịch mã này. –

+1

'-l' nói liên kết với thư viện bắt đầu bằng' lib' và kết thúc bằng '.a' hoặc' .so'. 'rt' là viết tắt của Thời gian thực. 'librt' là thư viện tiện ích mở rộng thời gian thực. –

Trả lời

8

Điều đó không liên quan đến việc thực hiện; làm cho sẽ không bao giờ thêm một lá cờ như thế một mình. Ai đó đã viết makefile của bạn sẽ tự thêm cờ đó vào dòng liên kết. Đó là một lệnh biên dịch và -lrt là một lá cờ được chuyển tới trình biên dịch. Cờ -l chỉ định rằng bạn nên liên kết với thư viện và tên của thư viện theo sau; do đó, đối với -lrt nghĩa là "liên kết với thư viện rt". Điều này làm cho trình liên kết tìm kiếm các thư viện có tên là librt.a hoặc librt.so (đối với các thư viện được chia sẻ) và liên kết chúng với tệp đầu ra.