今回は分割コンパイルについて説明します 分割コンパイルとは複数のC/C++ソースファイルをまとめてひとつの実行ファイル(.exe)を作成する方法です いままではひとつのソースファイル(main.cpp)だけでプログラムを作成してきました VC++では複数のソースファイル(.cpp)に関数、クラスなどを分割することで 他のプロジェクトでそのソースファイルを使いまわしたりすることで関数やクラスを再利用することができます 再利用できるよく使う機能などをまとめたソースファイルなどをライブラリと呼びます プログラムの規模が大きくなってきたときやライブラリを作成する、 あるいは複数人で作業を分担するときにはソースファイルを分けて作業する必要がでてくるので 必ず覚えてください 前提としては main関数(もしくはWinMain関数)は必ず1つのプロジェクトにつき1つしかありません というのはmain関数がプログラム全体の開始となる関数なので 複数のソースファイルにそれぞれmain関数があると「どこから開始するの?」ってコンパイラに怒られます なので、ライブラリにはmain関数は含めません では、早速分割コンパイルをやってみましょう いつものように空のプロジェクトを作成します 空のプロジェクトの作り方はVC++便利機能で説明しています まず、ヘッダーファイル(.h)を作ります ヘッダーファイルとは#include <stdio.h>とかのアレです フォルダ内で右クリック→新規作成→テキスト(.txt) でまず、テキストファイルを作成します &ref(text.GIF); 拡張子が表示されてない人は XPの人はツール→フォルダオプション で開き、「表示タブ→登録されている拡張子は表示しない」のチェックをはずして 拡張子を表示するようにしてください ファイルの種類の識別がしやすいのでセキュリティ的にも表示したほうがよいです &ref(fileop.GIF); 作成したファイルを右クリック→名前の変更で拡張子(.以下)を.txtから.hに書き直してやります ここではtest.hにでもしましょうか 拡張子はファイルの種類を識別するためのもので 実際にはファイルというのは「テキスト形式」もしくは「バイナリ形式」の2種類しかありません 拡張子に惑わされないでください 「テキスト形式」は文字で書かれているファイルのことです 「バイナリ形式」は画像ファイルや音声ファイルなどコンピュータが直接認識できるような数値列になっているデータを指します、広義な意味では文字コードと呼ばれる数値を文字に変換している「テキスト形式」も包括していることになります (文字化けが起きるのは読み込みの文字コードが合わないときに起きます) プログラムを文字で書く、ソースファイルやヘッダーファイルは当然テキスト形式です ここまで説明しておいてなんですが、 いちいち、テキストファイルを新規作成して拡張子変更がめんどくさいので VC++では簡易的に次の方法でソースファイルやヘッダファイルを新規作成できます &ref(DivideSource.GIF); ここでtest.hを作成してください 追加したら次のコードを書いてください また、たまに拡張子に(.hpp)というのも見かけたりします これは普通のヘッダーファイル(.h)と変わりません ただ、実装を含んでいるヘッダーファイル(インライン実装、テンプレートクラス、関数等)には習慣として付けておくとよいでしょう #vote((^ω^)やったお[0],何これwww意味不すぎwww[0],。(`ω´#)。あぁん?最近、だらしねぇな[0])