【C言語】ファイル分割

C言語

ファイル分割の必要性

開発を進めていくとプログラムの管理が膨大になります。

チームでプログラミングをしているイラスト

ファイルの種類

C言語で管理するファイルは2種類あります。1つは◯◯.cのようなソースファイルです。2つ目は〇〇.hのようなヘッダファイルです。

ソースファイル

ソースファイルに記載するものは実行したい内容です。基本的には関数と同じと考えて大丈夫

足し算する関数を考えます。

add.c
#include "add.h"

int add(int a, int b) {
    return a + b;
}

ヘッダファイル

ヘッダファイルに記載するのは処理の内容ではなくソースファイルの型です。main.cでソースファイルを使えるように教えてあげるような処理です。

add.h
#ifndef ADD_H
#define ADD_H

int add(int a, int b);

#endif /* ADD_H */

main.c

main関数にはadd.hファイルを読み込みます。自作したヘッダファイルを読み込むことをインクルードと読みます。

main.c
#include <stdio.h>
#include "add.h"

int main() {
    int a = 5, b = 10, c;
    c = add(a, b);
    printf("%d + %d = %d\n", a, b, c);
    return 0;
}

コンパイル

通常のようにmain.cをコンパイルするだけではできません。作成したadd.cもコンパイルする必要があります。それぞれの実行ファイル.oを作成し,最後にエグゼファイルARCSを作成します。実行は./ARCSで可能です。ソースコードが増えていくとコンパイルの記述が大変になってきます。

コマンドプロンプトで実行
gcc -c main.c
gcc -c add.c
gcc -o ARCS main.o add.o
./ARCS

まとめ

C言語のファイル管理についてソースファイルとヘッダファイルを用いることで管理がしやすくなります。次回はコンパイルが簡単にできるmakefileの使い方について説明します。

コメント

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