gccによるファイル分割コンパイル(C言語ファイル分割)
大規模なプログラムを構築する場合、すでに確立した関数を分割し、他のプログラムに適用すれば、大規模なプログラム開発を助けることができます.
栗を挙げます.
プログラムは,ユーザに2つの整数を入力し,min()関数を呼び出し,2つの数の最小値を出力するように要求する.
教科書のコード:
分割されたコード:
main.cファイル
mymin.cファイルコード
mymin.hファイルのコード:
コンパイルするときに、新しいプロジェクトを作成します.プロジェクト名はtestです.linuxの下/home/bohab/code/c/ディレクトリの下にファイルtestを新規作成します.testファイルの下に3つのフォルダsrc include objを新規作成します.srcはソースファイル(.c)ファイルを格納します.includeファイルはヘッダファイル(.h)ファイルを格納します.objフォルダには、コンパイル済みのファイル、すなわち実行可能なファイルが格納されます.gccコンパイルを使用します.
栗を挙げます.
プログラムは,ユーザに2つの整数を入力し,min()関数を呼び出し,2つの数の最小値を出力するように要求する.
教科書のコード:
#include
int min(int x,int y);
int main()
{
int n1,n2,n3;
printf(" :");
scanf("%d",&n1);
printf(" :");
scanf("%d",&n2);
n3=min(n1,n2);
printf(" %d
",n3);
return 0;
}
int min(int x,int y)
{
if(x < y)
return x;
else
return y;
}
分割されたコード:
main.cファイル
#include
#include "mymin.h"
int main()
{
int n1,n2,n3;
printf(" :");
scanf("%d",&n1);
printf(" :");
scanf("%d",&n2);
n3 = min(n1,n2);
printf(" %d
",n3);
}
mymin.cファイルコード
int min(int x,int y)
{
if(x
mymin.hファイルのコード:
int min(int x,int y);
コンパイルするときに、新しいプロジェクトを作成します.プロジェクト名はtestです.linuxの下/home/bohab/code/c/ディレクトリの下にファイルtestを新規作成します.testファイルの下に3つのフォルダsrc include objを新規作成します.srcはソースファイル(.c)ファイルを格納します.includeファイルはヘッダファイル(.h)ファイルを格納します.objフォルダには、コンパイル済みのファイル、すなわち実行可能なファイルが格納されます.gccコンパイルを使用します.
gcc main.c mymin.c -I ../include/ -o ../obj/exmin