山口屋~活動日誌~

私生活で主な出来事をピックアップ

Visual Studio 2008 Professional カスタムインストール C++

2013-04-07 11:34:30 | ソフトウェア開発
Visual Studio 2008 Professional で、カスタムインストールする際に最低限必要なもの。

●[Visual C++ ツール]-[Win32 ツール]
→mt.exe
●[Visual C++ ランタイム ライブラリ]-[Visual C++ スタティック マルチスレッド CRT ライブラリ]
→~.h
●[Visual C++ ランタイム ライブラリ]-[Visual C++ ダイナミック CRT ライブラリ]
→MSVCRTD.lib,MSVCRT.lib(※)

※[プロジェクトのプロパティ]→[構成プロパティ]→[C/C++]→[コード生成]→[ランタイムライブラリ]で[マルチスレッド(/MT)],[マルチスレッド デバッグ(/MTd)]を選択すれば(DLLを使用しなければ)不要。C++/CLIでは必要。

Visual Studio 2008 Professional で、コード最適化を行う設定。

●[プロジェクトのプロパティ]→[構成プロパティ]→[C/C++]→[最適化]→[最適化]で[最大限の最適化(/Ox)]を選択
●[プロジェクトのプロパティ]→[構成プロパティ]→[C/C++]→[最適化]→[プログラム全体の最適化]で[リンク時のコード生成を有効にする(/GL)]を確認

参考:プログラミング :: 高速なプログラムを書く為に :: 初めに

MPI 並列化 Visual Studio MPICH2

2013-04-07 11:22:21 | ソフトウェア開発
Visual Studio 2005 Express EditionMPICH2の組み合わせでMPI(Message Passing Interface)による並列化を図ろうとしたが、なかなか上手く動いてくれず、試行錯誤とネット検索を繰り返し、やっと動くようになった。手順を以下に示す。

<MPICH2のインストール>

<PATHを通す>

1.マイコンピュータを右クリック
2.メニューから[プロパティ]を選択
3.[詳細設定]のタブで[環境変数]のボタンをクリック
4.システム環境変数のリストから変数名のpathを選択し、編集ボタンをクリック
5.末尾に下記を追加して[OK]ボタンをクリック
C/:Program Files/MPICH2/bin

<PATHを通したことの確認>

1.コマンドプロンプトを立ち上げ、「mpiexec」と入力
2.引数のUsageが表示されたらPATHは通っている

<Visual Studio 2005 での設定>

1.ツールバー[ツール]→[オプション]でダイアログを開く
2.ツリービューの[プロジェクトおよびソリューション]→[VC++ディレクトリ]を選択
3.[ディレクトリを表示するプロジェクト]のコンボボックスで[インクルードファイル]を選択
4.リストに下記を追加
C/:Program Files/MPICH2/include
5.ツールバー[ツール]→[オプション]でダイアログを開く
6.ツリービューの[プロジェクトおよびソリューション]→[VC++ディレクトリ]を選択
7.[ディレクトリを表示するプロジェクト]のコンボボックスで[ライブラリファイル]を選択
8.リストに下記を追加
C/:Program Files/MPICH2/lib

9.ツールバー[プロジェクト]→[プロパティ]でダイアログを開く
10.ツリービューから[構成プロパティ]→[リンカ]→[入力]を選択する
11.表の[追加の依存ファイル]の項目に、デバックの場合「mpi.lib cxxd.lib」、リリースの場合「mpi.lib cxx.lib」を追加(※)

※この手順については、ソースコード中に以下の記述をすれば必要ない(かもしれない)。
#pragma comment(lib, "mpi.lib")
#ifdef DEBUG
#pragma comment(lib, "cxxd.lib")
#else
#pragma comment(lib, "cxx.lib")
#endif

12.ツールバー[プロジェクト]→[プロパティ]でダイアログを開く
13.ツリービューから[構成プロパティ]→[デバッグ]を選択する
14.[コマンド]の項目に「mpiexec.exe」と入力
15.[コマンド引数]の項目に「-localonly 4 $(TargetPath)」と入力(4はプロセッサー数)

<SMPD(Single Program, Multi Data)のインストール>
※ Windows Vista のみの操作かもしれない

1.コマンドプロンプトを起動
2.「smpd -phrase behappy -install」と入力(「behappy」はMPICH2のインストール時に指定するパスワードのデフォルト)

<参考>
●無計画算法:MPIライブラリのdefineマクロキーワード(プリプロセッサディレクティブ)一覧

Visual Studio C++ 2005 ステップ実行 デバッグ Debug

2013-04-07 11:20:27 | ソフトウェア開発
Microsoft Visual Studio 2005 を使ってC言語プログラムを作成する際は、次のように作成する。

[ファイル]→[新規作成]→[プロジェクト]→[Visual C++]→[全般]→[空のプロジェクト]

ところが、デバッグの際にエラーメッセージが出てステップ実行できないことがある。これを対処する方法としては、

[プロジェクト]→[~のプロパティ]→[構成プロパティ]
を開いて、
[リンカ]→[デバッグ]→[デバッグ情報の生成]→[はい]
[C/C++]→[全般]→[デバッグ情報の形式]→[C7 互換 (/Z7)]
とすればよい。


コンパイルの際、scanf()やprintf()に関連してよくわからない警告が出るので、次の操作も行うとよい。

[プロジェクト]→[(ソリューション名)のプロパティ]→[構成プロパティ]
を開いて、
[C/C++]→[プリプロセッサ]→[プリプロセッサの定義]→[_CRT_SECURE_NO_DEPRECATE](追加)

scanf()やprintf()で日本語を扱いたい場合、次の操作を行うとよい。

[プロジェクト]→[(ソリューション名)のプロパティ]→[構成プロパティ]
を開いて、
[全般]→[プロジェクトの既定値]→[文字セット]→[マルチバイト文字セットを使用する](選択)