Skip to main content

Co je inline sestava?

inline sestava mdash;také nazývaný inline sestavovací jazyk nebo inline assembler mdash;je blok jazykového kódu sestavy, který je vložen přímo do funkcí a zdrojového kódu pro jiný jazyk.To umožňuje programátorovi vložit blok čistého jazyka sestavení do programu, ve kterém zbytek programu používá jazyk bez sestavení.Schopnost je podporována pod některými jazyky mdash;jako C, C ++ a Pascal Mdash;je však rysem specifického kompilátoru a nemusí být nutně součástí jazykového standardu.V mnoha případech se inline sestavení používá pro přístup ke speciálním funkcím v centrální zpracovatelské jednotce (CPU), k optimalizaci kódu nebo k provádění operací na úrovni velmi nízké úrovně, jako je paměť Bliting.Ačkoli určitý kompilátor nebo programovací jazyk by mohl mít podporu pro vytváření spustitelných souborů napříč platformami, použití inline montáže obvykle omezuje program na systémy, které mohou využívat specifické pokyny pro sestavení nebo mít odpovídající architekturu.

Existuje několik způsobů, jak jazyk jazyknebo kompilátor umožňuje zahrnout inline sestavení do standardního souboru zdrojového kódu.Jednou z nejjednodušších metod je jednoduše definováním začátku montážního bloku, po kterém jsou všechny příkazy interpretovány jako přímé sestavení.Některá integrovaná vývojová prostředí (IDE) a kompilátory ve skutečnosti umožňují inline kódu používat proměnné definované v programu nebo funkci, aniž by je nejprve výslovně naložili do registrů.vyhrazená funkce pouze pro sestavování.V tomto případě nelze inline kód obvykle kombinovat s kódem bez sestavení, jako je například kontrolní smyčka nebo příkaz návratu.Při implementaci tímto způsobem musí inline funkce také obvykle výslovně tlačit a poplat proměnné na zásobníku i mimo něj, aby používal místní proměnné nebo předával hodnoty mimo funkci.malé segmenty programu.V závislosti na tom, jak je integrován inline kód, to může znamenat použití jazykových příkazů čitelných člověka omotaným kolem inline kódu, který přímo provádí nějakou akci velmi rychle a efektivně.Navíc, pokud je cílový systém znám, může kód používat registry a příkazy specifické pro hardware, které mohou provést provádění programu mnohem rychleji.

Inline sestavení lze použít pro přístup k částem operačního systému, CPU nebo dokonce hardwarové porty, když je přímo, kdyžJiné metody mohou selhat nebo způsobit chybu systému.To lze použít k rychlé změně rámců na grafické kartě nebo k odeslání signálů přímo do konkrétního portu přerušení nebo hardwaru.Jedním z nebezpečí používání sestavovacího kódu tímto způsobem je však to, že malé chyby mohou být obtížné najít nebo způsobit, že program neočekávaně narazil na určité systémy.