1

これが可能かどうか知りたい...

CプログラムやC++などをコンパイルしたいときはいつでも、.cファイルに#includeなどのヘッダーファイルを含める必要があります....

name.c で作成されたファイルに、プログラムに入力せずにヘッダー ファイルが自動的に含まれるようにする方法はありますか...これがどのように機能するかわかりません...

または、このようなものでも...私はvimを使用しているので、acのようなファイルを保存すると(プログラムに#includeを入れずに)、vimまたはgccのどちらかがこれを.cファイルと見なし、stdio.hを追加しますファイル..プログラムに追加する必要があるという意味ではありませんが、コンパイル中に stdio.h ファイルも取得する必要があります...これは可能ですか...?

4

3 に答える 3

4

GCCには-includeそれを可能にするオプションがあります。ただし、この機能は別のユースケースを対象としているため、IMHOが提案していることはお勧めできません。ソースにディレクティブを書き込む#includeだけで、これを行う必要があるのは1回だけです。

于 2013-03-01T09:44:33.733 に答える
1

実装ファイルでを指定する必要がある理由は#include、実際に必要な機能をコンパイラに通知するためです。関数名は単なる名前であり、のような特定の関数fprintf()は特定の機能に関連付けることができますが、他のもの(、、のような一般的な名前はどうですかremove()create()trigger()確かにできません。これを指定するのはあなたの仕事であり、Cでは、これは#includeパスとインクルードパスの組み合わせを介して行われます。これはほとんどのプログラミング言語に共通です。たとえば、Javaにimportはクラスパスがあります。

したがって、インクルードを除外することは明らかに悪い考えです。さて、これを調べて入力する努力について不満がある場合は、Vimのスニペットソリューションを試すか、本格的なIDEを使用してください。これらのほとんどは、このための便利なショートカットを提供します。

于 2013-03-01T11:03:28.270 に答える
0

sh スクリプトを使用すると、ファイル名を含むグローバル変数を作成できます。

使用後にできますgcc %tmp_file%.c -include %tmp_file%.h

于 2013-03-01T10:18:21.303 に答える