Lekce 17 - Propojení ASM s C++ nebo C# .NET
V minulé lekci, Funkce v MASM, jsme se naučili předat parametry funkcím a používat lokální proměnné.
V dnešním ASM tutoriálu si ukážeme, jak vypadá a funguje kombinace assembleru s C++ nebo assembleru s C# .NET v jediné aplikaci.
Motivace
Když tvoříme jakoukoliv větší aplikaci, je poměrně pracné úplně vše programovat v assembleru. Zpravidla nám stačí v assembleru naprogramovat jen výpočetně náročné funkce, které vyžadují optimalizaci. Méně důležité funkce (např. uživatelské rozhraní) můžeme naprogramovat ve vyšším programovacím jazyce.
Propojení ASM a C++
Propojit assembler s C++ je snadné, protože v jednom projektu ve Visual
Studiu můžeme mít zároveň .asm
i .cpp
soubory.
Musíme si dát pozor akorát na volací konvenci a parametry funkcí.
C++ soubor
Nejdříve si ukážeme C++ soubor a potom ASM soubor:
#include <iostream> using namespace std; extern "C" { int MyFunc(); int AddAsm(int, int); char* TextAsm(); int AddCpp(int a, int b) { return a + b; } } int main() { cout << MyFunc() << endl << AddAsm(7, 9) << endl << TextAsm() << endl; }
V kódu jsou nejdříve deklarace
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V ASM tutoriálu si ukážeme, jak vypadá a funguje kombinace assembleru s C++ nebo assembleru se C# .NET v jediné aplikaci.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.