開発環境 Microsoft Visual C++ 2010 Express (SP1)
実行環境 Microsoft Windows XP Home Edition (SP3)
プロジェクトの種類 Win32 プロジェクト
プロジェクト名 hello
アプリケーションの種類 Windows アプリケーション
追加のオプション 空のプロジェクト


プロジェクトの新規作成

  • メニューから「ファイル」→「新規作成」→「プロジェクト」を選択する
  • 「Win32 プロジェクト」または「Win32 コンソール アプリケーション」を選択する
  • 名前を入力する「hello」
  • 「ソリューションのディレクトリを作成」のチェックを外す
  • 「空のプロジェクト」をチェックする

ビルドのカスタマイズ

  • 「ソリューション エクスプローラー」の「hello」を右クリックし、ポップアップメニューから「ビルドのカスタマイズ」を選択する
  • 「masm(.targets, .props)」をチェックする

ソースファイルの追加

  • 「ソリューション エクスプローラー」の「ソース ファイル」を右クリックし、ポップアップメニューから「追加」→「新しい項目」を選択する
  • 「C++ ファイル (.cpp)」を選択する
  • 名前を入力する「hello.asm」

ビルドのカスタマイズの前にソースファイルを追加した場合
  • 「ソリューション エクスプローラー」の「hello.asm」を右クリックし、ポップアップメニューから「プロパティ」を選択する
  • 項目の種類に「Microsoft Macro Assembler」を選択する

ソースの入力

hello.asm
; hello.asm
.586
.model flat, stdcall
 
NULL		EQU	0
MB_OK		EQU	0
 
MessageBoxA	proto :dword, :dword, :dword, :dword
ExitProcess	proto :dword
 
.data
CAPTION		DB 'ハロー', 0
TEXT		DB 'hello, world', 0
 
.code
WinMainCRTStartup	proc
	invoke MessageBoxA, NULL, offset TEXT, offset CAPTION, MB_OK
	invoke ExitProcess, 0
	ret
WinMainCRTStartup	endp
end
 

ビルド

  • ソリューション構成に「Release」を選択する
  • メニューから「デバッグ」→「ソリューションのビルド」を選択する(F7キーでも可)

1>  LINK : /LTCG が指定されましたが、コードの生成は必要ありません。
[[リンク]] コマンド ラインから /LTCG を削除し、リンカーの性能を改善してください。

リンカーの設定

  • 「ソリューション エクスプローラー」の「hello」を右クリックし、ポップアップメニューから「プロパティ」を選択する
  • 「構成プロパティ」→「リンカー」→「最適化」を選択する
  • 構成に「Release」を選択する
  • 「リンク時のコード生成」を空にする
「構成プロパティ/全般/プログラム全体の最適化:プログラム全体の最適化なし」でも可

  • 「構成プロパティ」→「リンカー」→「デバッグ」を選択する
  • 構成に「Release」を選択する
  • デバッグ情報の生成「いいえ」を選択する

  • 「構成プロパティ」→「リンカー」→「マニフェスト ファイル」を選択する
  • 構成に「Release」を選択する
  • マニフェストの生成に「いいえ (/MANIFEST:NO)」を選択する
最終更新:2014年04月08日 11:24