Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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

Znalosti v hodnotě stovek tisíc získáš za pár korun

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.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • 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.
Článek pro vás napsal Petr Laštovička
Avatar
Autor se věnuje vývoji webových aplikací v ASP.NET a aplikací pro Windows v C++ nebo C#.
Aktivity