非常に長い関数を書く必要がありました。だから、別のファイルに入れてmainにリンクすることにしました。つまり、main()
の後に関数定義を書いたかのように動作します。には、メインの.cファイルに存在する関数定義が含まれています。
は、私はそれをどのように行うのです。..
非常に長い関数を書く必要がありました。だから、別のファイルに入れてmainにリンクすることにしました。つまり、main()
の後に関数定義を書いたかのように動作します。には、メインの.cファイルに存在する関数定義が含まれています。
は、私はそれをどのように行うのです。..
を.hファイルでは、あなたは、このようなのhello.cとしてあなたの機能を実装して別々の.cファイルでは、あなたのプロトタイプ
#ifndef MY_HEADER_H
#define MY_HEADER_H
void hello(void);
#endif
を入れ
#include "myheader.h"
void hello()
{
printf("Testing function from other file\n");
}
をメインに、あなたは
#include "myheader.h"
int main()
{
hello();
return 0;
}
を行います
ファイルをリンクする前にhello.cをhello.oにコンパイルしておくと、helloへの参照を解決できないことがわかります。
ファイル名が.hのヘッダーファイルを作成します。 このヘッダーファイルの名前はblah.hです。
このヘッダの一般的な構造は
#ifndef BLAH_H_INCLUDED
#define BLAH_H_INCLUDED
//code
#endif // BLAH_H_INCLUDED
ものは、複数の介在を防止するために、ガードヘッダれるであろう。 コード内では、引き続き関数の宣言を行います。
たとえば、void function(int blah);
は有効な関数宣言になります。
このファイルは、次に使用するか、または関数が宣言定義するすべてのファイルの先頭に含まれている、
#include "blah.h"
は、その後、あなたが他のファイルで、あなたの関数を定義し、あなたがそれらを一緒にリンクする際にプログラムすることができます作業。
不適切な用語が使用されています。プロトタイプは 'void hello(void);'になります。あなたが与えているのは単なる宣言であり、その宣言は任意の数と型の引数で 'hello'を呼び出すことができます。 –
@Jens、私は彼がそれの基本を理解していないように見えるので、彼はそれを簡単に保つようにしていました。あなたがそれがもっと理にかなっていると思うなら、正しいものを編集します。 –
はい、より良い今。 –