1.基本的なサンプル

1-3.C++からMASMの関数を呼び出す(64ビット版)

プロジェクトの作成

 この内容は Sample103にあります。
 まずVS2019を起動し新しいプロジェクトの作成を選択しコンソールアプリケーションを作成します。プロジェクト名はSample103とします。
 作成方法は、1-2.C++からMASMの関数を呼び出す(32ビット版)を参考にしてください。ここまでは同じです。
 続いて、64ビット版の指定です。
 メニューの下にある構成の選択エリアでx64を指定してください。これが64ビットモードです。

 

図0103a

 

 続いてプロジェクト名を右クリックしてビルドの依存関係-ビルドのカスタマイズを選びます。

 

図0103b

 

 そこでmasmを選び、OKします

 

図0103c

 

アセンブラの記述

 ソースファイル-追加-新しい項目を選びます。

 

図0103d

 

 Source.asmを作成します。

 

図0103e

 

 Source.asmを右ボタンクリックしてプロパティを選びます。

 

図0103f

 

 項目の種類Microsoft Macro Assemblerになっているのを確認します。
 その後Source.asmに以下を記述します。

.code

;int func103
func103 proc
        sub     ecx,edx
        mov     eax,ecx
        ret
func103 endp
        end

cppの記述

 その後Sample103.cppに以下を記述します。
#include <iostream>

extern "C" int func103(int, int);

int main()
{
    std::cout << func103(70, 50) << "\n";
}
 ビルド-リビルドでコンパイルします。
 その後、デバッグ-デバッグなしで実行で以下が表示されれば成功です。
20

...\ProjectMASM\Sample103\x64\Release\Sample103.exe (プロセス 16928) は、コード 0 を伴って終了しました。
このウィンドウを閉じるには、任意のキーを押してください . . .
 この項を見るとわかるように、64ビット版アセンブラC/C++から呼び出すのに、そんなに手間はかからないと思います。
 Sample102と比べてください。