C言語:複数のソースファイルがある場合の「#include <stdio.h>」

Eye catch: C programming 冒険

例えば

main.c
funcs.c

という二つのソースファイルを用いて一つの実行ファイルを生成したいとする。

各ファイルに printf を使うファンクションを記述しているとする。

こうした場合に毎回

#include <stdio.h>

とファイルの始めに記述する必要はない。

ヘッダーファイルを作成してその中に記述することで済ませることが出来る。

ここでは myHeader.h というファイルを作成したとする。

#include “myHeader.h”

という記述を <stdio.h> の代わりにソースファイル毎の先頭に入れる。

実行ファイルを作り出す際に記述の重複により問題が発生する心配はない。

myHeader.h の中に一度だけインクルードされるようにする仕組みを設けることが出来るからだ。

三つファイルから実行ファイルを生成する例

myHeader.h

// #ifndef の前に COMMONS が定義されていなければ
// #endif までの部分に入る
#ifndef COMMONS
#define COMMONS

#include <stdio.h>

void funcOne(void);
void funcTwo(void);

#endif //COMMONS

main.c

#include “myHeader.h”

int main(void)
{

printf(“Starting functions…\n”);
funcOne();
funcTwo();
return 0;

}

funcs.c

#include “myHeader.h”

void funcOne(void)
{

printf(“This is One.\n”);

}

void funcTwo(void);
{

printf(“I am Two.\n”);

}

この三つのファイルを用いて実行ファイルを作成したい場合のコマンドの例

$ gcc -Wall -o headerTest main.c funcs.c

タイトルとURLをコピーしました