Come costruire un progetto di 64-mixed-source con un file di assieme x64:
1) Avviare Visual Studio (comunitario) 2015 e scegliere FILE - New - Project
.
2) Nella finestra successiva scegliere Win 32 Console Application
.
3) Si ottiene una conferma. Fare clic su Next >
.
4) Nella finestra successiva è possibile accettare le impostazioni predefinite. Fare clic su Finish
.
5) Ora scegliere PROJECT - Build Customizations...
.
6) Nella finestra successiva tick masm(.targets,.props)
e cliccare su OK
.
7) Scegliere Build - Configuration Manager...
8) Modificare la Active solution platform
per x64
9) Creare callee.asm: PROJECT - Add New Item
.
10) Nella finestra successiva scegliere C++File(.cpp)
e - IMPORTANTE! - assegna un nome con l'estensione .asm
. Fare clic su Add
.
10) Ora, controllare se il file .asm
ha le giuste proprietà. In Esplora soluzioni, fare clic con il tasto destro del mouse sul file e selezionare Properties
.
11) nella pagina delle proprietà si dovrebbe vedere almeno:
Excluded From Build (empty) or No
Item Type Microsoft Macro Assembler
Sotto Command Line
assicurarsi che ml64.exe
è scelto come l'assemblatore.
Cliccare sulla OK
.
12) Ora è possibile riempire i file con il contenuto.
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) Costruire il .exe
e eseguilo con CTRL-F5.
L'applicazione si aprirà in una nuova finestra.