2011-08-09 2 views

答えて

3

を.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への参照を解決できないことがわかります。

+0

不適切な用語が使用されています。プロトタイプは 'void hello(void);'になります。あなたが与えているのは単なる宣言であり、その宣言は任意の数と型の引数で 'hello'を呼び出すことができます。 –

+0

@Jens、私は彼がそれの基本を理解していないように見えるので、彼はそれを簡単に保つようにしていました。あなたがそれがもっと理にかなっていると思うなら、正しいものを編集します。 –

+0

はい、より良い今。 –

0

ファイル名が.hのヘッダーファイルを作成します。 このヘッダーファイルの名前はblah.hです。

このヘッダの一般的な構造は

#ifndef BLAH_H_INCLUDED 
#define BLAH_H_INCLUDED 

//code 

#endif // BLAH_H_INCLUDED 

ものは、複数の介在を防止するために、ガードヘッダれるであろう。 コード内では、引き続き関数の宣言を行います。

たとえば、void function(int blah);は有効な関数宣言になります。

このファイルは、次に使用するか、または関数が宣言定義するすべてのファイルの先頭に含まれている、

#include "blah.h"は、その後、あなたが他のファイルで、あなたの関数を定義し、あなたがそれらを一緒にリンクする際にプログラムすることができます作業。

関連する問題