Wie ein Mixed-Source-x64-Projekt mit einer x64 Assembly-Datei erstellen:
1) Starten Sie Visual Studio (Community) 2015 und FILE - New - Project
wählen.
2) Im nächsten Fenster Win 32 Console Application
wählen.
3) Sie erhalten eine Bestätigung. Klicken Sie auf Next >
.
4) Im nächsten Fenster können Sie die Standardeinstellungen übernehmen. Klicken Sie auf Finish
.
5) Jetzt PROJECT - Build Customizations...
wählen.
6) Im nächsten Fenster tick masm(.targets,.props)
und klicken Sie auf OK
. Wählen Sie
7) Build - Configuration Manager...
8) die Active solution platform
ändern
9) auf x64 erstellen callee.asm: PROJECT - Add New Item
.
10) Im nächsten Fenster wählen C++File(.cpp)
und - WICHTIG! - geben Sie ihm einen Namen mit einer .asm
Erweiterung. Klicken Sie auf Add
.
10) Überprüfen Sie nun, ob die .asm
Datei die richtigen Eigenschaften hat. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei und wählen Sie Properties
.
11) auf der Eigenschaftenseite sollten Sie zumindest sehen:
Excluded From Build (empty) or No
Item Type Microsoft Macro Assembler
Unter Command Line
sicherzustellen, dass ml64.exe
als Assembler gewählt wird.
Klicken Sie auf OK
.
12) Jetzt können Sie die Dateien mit Inhalt füllen.
ConsoleApplication1.cpp:
#include <iostream>
using namespace std;
extern "C" void hello_from_asm();
int main()
{
cout << "Hello from CPP" << endl;
hello_from_asm();
return 0;
}
callee.asm:
PUBLIC hello_from_asm
EXTERN puts:PROC
.data
hello1 db "Hello from ASM.",0
.code
hello_from_asm PROC
push rbp
mov rbp, rsp
sub rsp, 32 ; Shadow Space
and spl, -16 ; Align stack at 16
lea rcx, hello1
call puts
leave ; Restore stack (rsp) & frame pointer (rbp)
ret
hello_from_asm ENDP
END
13) Bauen Sie das Exe
und Führen Sie es mit CTRL-F5.
Die Anwendung wird in einem neuen Fenster geöffnet.