5

GitHub でさまざまな興味深いプロジェクトを見ていると、次のファイルに出会いました。

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

彼は、標準のヘッダーと同じ方法で自分のファイルをインクルードしているようです。

#include <slash/lib/regexp.h>

この方法の代わりに:

#include "slash/lib/regexp.h"

彼はこれを可能にするためにインクルードパスを変更したと思いますが、私の質問は次のとおりです。なぜですか? このような状況のために作成された引用構文ではありませんか (独自のヘッダー ファイルを含む)。

4

2 に答える 2

1

include/中程度のサイズのプロジェクト、特にインストール可能なプロジェクトの場合、C ファイルの隣ではなく、プロジェクト ルートの下などの別のディレクトリにヘッダーを保存する方が便利なことがよくあります。

このディレクトリをインクルード パスに追加した後、<>またはの選択が""文体的なものになります --は、相対パスの場合、またはの代わりに を""介してインクルード ディレクトリを追加する場合にのみ必要です。-iquote-I

使用するための引数は、""ヘッダーをプロジェクト固有として明示的にマークすることです。

使用するための引数は<>、ヘッダー インクルードがユーザー コードとライブラリ コードで同じに見えるということです。

于 2013-09-28T20:49:10.500 に答える
0

Makefile のインクルード パスを変更するだけで、プロジェクトのディレクトリ構造を簡単に変更できます。たとえば、最初はすべてのヘッダーが入っていて、すべてのヘッダー用myproj/srcに追加のmyproj/includeフォルダーが必要になったとします。

于 2013-09-28T20:48:18.767 に答える