サンプル・プログラム
プロジェクトの準備
そこでまず、新しいプロジェクトを作成する。上図のように、「メニュー→ファイル→新規→プロジェクト」を選ぶ。
プロジェクト・タイプは「実行可能→空のプロジェクト」、ツールチェーンとして「MinGW GCC」を選ぶ。
続いて「メニュー→ファイル→新規→ソース・ファイル」を選び、C++ソース・ファイルを作成する。先ほど指定したフォルダ \isleap1 と、ソース・ファイル isleap1.cpp を指定する。
0001: /** isleap1.cpp
0002: * 閏年かどうか判定する(コマンドライン版)
0003: *
0004: * @copyright (c)studio pahoo
0005: * @author パパぱふぅ
0006: * @動作環境MinGW
0007: * @参考URL https://www.pahoo.org/e-soul/webtech/cpp01/cpp01-01-02.shtm
0008: */
0009: // 初期値 ============================================================
0010: #include <iostream>
0011: #include <ctime>
0012: using namespace std;
0013:
0014: // サブ・プログラム ==================================================
0015: /**
0016: * 与えられた年が閏年かどうか判定する
0017: * @param int y 西暦年
0018: * @return bool true:閏年である/false:平年である
0019: */
0020: bool isleap(int y) {
0021: bool ret = false;
0022: if (y % 4 == 0) ret = true;
0023: if (y % 100 == 0) ret = false;
0024: if (y % 400 == 0) ret = true;
0025: return ret;
0026: }
0027:
0028: // メインプログラム ==================================================
0029: int main(void) {
0030: time_t t = time(0); //現在時刻
0031: tm* now = localtime(&t); //ローカルタイム
0032: int year = now->tm_year + 1900; //西暦年を取り出す
0033: bool res = isleap(year); //閏年かどうか判定する
0034:
0035: cout << year << "年は 閏年" << (res ? "です." : "ではありません.") << endl;
0036: return 0;
0037: }
プロジェクトのビルドと実行
コマンドラインを開き、実行すると、上図のようなエラーパネルが表示されるはずだ。これは、MinGW GCC が実行時に必要とするライブラリDLLが見つからないことを意味している。\system32 フォルダへDLLをコピーすれば解決するが、それだと、このプログラムを配布するためにインストーラーを用意するなどして、あらかじめDLLをコピーする処理を加えなければならない。
そこで、実行型プログラムにDLLを埋め込むオプションを指定することにする。
これにより、ビルド時に標準ライブラリDLLを埋め込むことができる。
参考サイト
- PHPで閏年かどうか判定する:ぱふぅ家のホームページ
- PHPでWindowsアプリケーションウィンドウに表示する:ぱふぅ家のホームページ