Linux で gcc を使用してマルチソース ファイルをコンパイルすると、gcc はすべてのソース コード ファイルに対してオブジェクト ファイル *.o を作成するため、1 つだけ変更する場合はすべてのファイルを再コンパイルする必要はないと聞いています。Win7 x64 で MinGW を使用していますが、MinGW はオブジェクト ファイルを作成しません。
main.c
//main.c
#include "header.h"
int main(void)
{
Message();
return 0;
}
source.c
//source.c
#include <stdio.h>
#include "header.h"
void Message()
{
printf("Hello World...\n");
}
header.h
//header.h
#ifndef HEADER_H
#define HEADER_H
#include <stdio.h>
void Message(void);
#endif
これらのファイルをデスクトップに配置し、コマンドでコンパイルするとgcc main.c source.c -o program
、.obj ファイルではなく、program.exe のみが取得されます。