Việc sử dụng thư mục / usr / include là gì?


12

Tôi rất mới với Ubuntu. Tôi đang xem thư mục /usr/includechứa rất nhiều tệp tiêu đề. Tôi biết họ đã chỉ định một số hằng số nhất định và thông tin khác được sử dụng trong Ubuntu. Tôi bối rối với việc sử dụng nó.

Một trong những thư mục bên trong là linux/byteorder. Trong đó có hai tệp:

big_endian.h  little_endian.h

Tôi tự hỏi tại sao hai tập tin là cần thiết? Máy của tôi sẽ là endian lớn hoặc endian nhỏ phải không? Không có Ubuntu trong khi cài đặt không chọn thứ tự byte hệ thống của tôi? Có /usr/includegiống nhau cho tất cả các máy? Công dụng chính xác của nó là gì?

Cảm ơn trước.

Câu trả lời:


16

Thư mục đó bao gồm các tệp tiêu đề cho trình biên dịch C. Chẳng hạn như "stdio.h", "stdlib.h", v.v.

Khi bạn nhập thông tin tiêu đề trong tệp nguồn C #include <stdio.h>, trình biên dịch sẽ tìm tệp trong /usr/includethư mục theo mặc định.

big_endian.hlittle_endina.hcác tệp được bao gồm, bởi vì mặc dù máy tính của bạn có thể chỉ có một loại, bạn có thể phát triển ứng dụng chéo cho cả kiến ​​trúc. Vì vậy, bạn cần cả hai tập tin tiêu đề.


Liên kết thứ ba của bạn cần được dịch và sau đó nó được báo cáo là bị hỏng.
WinEunuuchs2Unix

@ WinEunuuchs2Unix tất nhiên là không như vậy trước đây. Phải thay đổi. Tôi sẽ xóa nó. Các trang cũ có thể được truy cập thông qua bộ nhớ cache đây web.archive.org/web/20100511072431/http://bid.ankara.edu.tr/...
Anwar

2

Những tệp này là cần thiết khi bạn biên dịch chương trình, là gói phần mềm bạn cần biên dịch thủ công hoặc chương trình của riêng bạn. Chúng được bao gồm trong mã C sao cho bạn có thể sử dụng các hàm được xác định ở đó. Đừng lo lắng về chúng nếu bạn không viết mã.


1

Có nhưng bạn có thể quyết định phát triển một ứng dụng đa nền tảng.

Và khi bạn viết chương trình cho máy khác khác về cuối. Sau đó, có thể các tệp này được sử dụng để biên dịch các chương trình như vậy. :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.