2013-09-28 35 views
5

Khi nhìn vào các dự án thú vị khác nhau qua tại GitHub, tôi đi qua các tập tin sau đây:Tại sao mọi người thêm thư mục riêng của họ vào đường dẫn tiêu chuẩn bao gồm?

https://github.com/charliesome/slash/blob/master/src/lib/regexp.c

Nó có vẻ như ông bao gồm các file của mình theo cùng một cách như tiêu đề tiêu chuẩn:

#include <slash/lib/regexp.h> 

Thay vì theo cách này:

#include "slash/lib/regexp.h" 

Tôi đoán anh ấy thay đổi đường dẫn bao gồm để thực hiện điều này ble, nhưng câu hỏi của tôi là: tại sao? Không phải cú pháp trích dẫn được thực hiện cho các tình huống như thế này (bao gồm cả tệp tiêu đề của riêng bạn)?

Trả lời

0

Nó giúp dễ dàng thay đổi cấu trúc thư mục của dự án của bạn bằng cách thay đổi đường dẫn bao gồm trong Makefile của bạn. Ví dụ: bạn có thể đã bắt đầu với tất cả các tiêu đề trong myproj/src và bây giờ bạn muốn có thêm một thư mục myproj/include cho tất cả tiêu đề của mình.

1

Đối với các dự án có kích thước vừa phải và có thể cài đặt cụ thể, thường thuận tiện hơn khi lưu trữ tiêu đề trong một thư mục riêng biệt như include/ dưới gốc dự án thay vì bên cạnh tệp C.

Sau khi thêm thư mục này vào đường dẫn bao gồm, sự lựa chọn của <> hoặc "" trở thành một phong cách một - "" là chỉ cần thiết cho đường dẫn tương đối hoặc nếu bạn thêm bao gồm danh bạ qua -iquote thay vì -I, mà không phải là particulary phổ biến.

Đối số để sử dụng "" sẽ đánh dấu rõ ràng tiêu đề là dự án cụ thể.

Đối số để sử dụng <> sẽ là phần bao gồm tiêu đề sẽ trông giống nhau trong mã người dùng và thư viện.

Các vấn đề liên quan