プロジェクトを分割する必要があります。クラスの間に書いた関数を含む.cファイルを作成するように求められました。また、プロトタイプ用の.hファイルを作成するように求められました。外部の.hと.cファイルをまとめてコンパイルする
私はそれをすべて行い、それは自分のコンピュータで正常に動作します。しかし、.exeファイルと.hプロトタイプと.c関数ファイルをmain.cファイルとともに送信し、先生がコードをコンパイルしないと言って戻しました。 main.cのの
内容:functions.cの
...
#include "functions.c"
#include "function_header.h"
...
内容:function_header.hの
int getline(char s[], int lim)
{
int c,i;
for(i = 0; i < lim && (c = getchar()) != '\n' && c!=EOF; i++)
s[i] = c;
s[i] = '\0'; // tömb lezárasa
while(c != '\n' && c!=EOF)
c=getchar(); // puffer ürítése
return i;
}
内容:
int getline(char s[], int lim);
は、私は少しもありません。彼のコードがコンパイルされない理由を手がかりにします。明らかに、新しいプロジェクトを開いてそのコードをmain.cにコピーすると、そのコードが別のフォルダに含まれているため、.cと.hのコードを使用できなくなります。では、何が問題になるのでしょうか?
おそらく、メインの 'に' 'の#include「functions.c」必要はありません。 c。 –
なぜいくつかの* [コンパイル単位](https://en.wikipedia.org/wiki/Compilation_unit)ができません。 [GNU make](https://www.gnu.org/software/make/)を使ってプログラムをビルドすることで、いくつかのオブジェクトファイルをリンクできますか? '.c'ファイルの' #include 'は悪い味であることに注意してください。 –
しかし、.cインクルードを取り出すと、コンパイルされません。 .hを.hに含める必要がありますか? –