C言語で複数ファイルをまたぐコンパイルについて(Makefileかヘッダーか)
Posted: 2014年10月09日(木) 13:16
こんにちは。
C言語に関する質問です。
関数等で複数ファイルをまたいでコンパイルする場合、
makeを用いる方法と、ヘッダーをincludeする方法に
何か違いはあるでしょうか。
makeでコンパイルをする場合、
・mainが書かれてるファイル「main.c」
・ある関数が書かれてるファイル「function.c」
が存在し、それをmake等でつなげてコンパイルすることが基本なのかなと思います。
一方、ヘッダーをincludeする場合、
・mainが書かれてるファイル「main.c」
・ある関数が書かれてるファイル「function.h」(ヘッダー)
とファイルを作成し、
main.cで#include "function.h"を行い、
makeを使わずに単にgcc等でmain.cをコンパイルすることも可能であると思います。
上記二つの書き方は動作は同じかと思っているのですが、
メリット・デメリット等はあるでしょうか。
C言語に関する質問です。
関数等で複数ファイルをまたいでコンパイルする場合、
makeを用いる方法と、ヘッダーをincludeする方法に
何か違いはあるでしょうか。
makeでコンパイルをする場合、
・mainが書かれてるファイル「main.c」
・ある関数が書かれてるファイル「function.c」
が存在し、それをmake等でつなげてコンパイルすることが基本なのかなと思います。
一方、ヘッダーをincludeする場合、
・mainが書かれてるファイル「main.c」
・ある関数が書かれてるファイル「function.h」(ヘッダー)
とファイルを作成し、
main.cで#include "function.h"を行い、
makeを使わずに単にgcc等でmain.cをコンパイルすることも可能であると思います。
上記二つの書き方は動作は同じかと思っているのですが、
メリット・デメリット等はあるでしょうか。