Co je inline sestava?
Inline Sestava - také nazývaná jazyk sestavení inline nebo inline assembler - je blok kódu jazyka 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 v některých jazycích - například C, C ++ a Pascal -, ale je to rys použitého 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 může mít podporu pro vytváření spustitelných souborů napříč platformami, použití inline sestavy obvykle omezuje program na systémy, které mohou využívat specifické pokyny pro sestavení nebo mít odpovídající architektuRe.
Existuje několik způsobů, jak jazyk nebo 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 skutečně umožňují inline kódu používat proměnné definované v programu nebo funkci bez jejich výslovného načtení do registrů nejprve.
Dalším způsobem, jakým je inline sestava definována ve zdrojovém souboru, je pomocí vyhrazené funkce jazyka sestavy. 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 a vypnout, aby používal místní proměnné nebo předával hodnoty venstrana funkce.
Jedním z nejběžnějších použití pro inline sestavovací kód je Pinpoint Optimalizace pro 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 znám cílový systém, může kód používat registry a příkazy specifické pro hardware, které mohou spustit program mnohem rychleji.
Inline sestavení lze použít k přístupu k částem operačního systému, CPU nebo dokonce hardwarového portu přímo, pokud by jiné metody mohly 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ě najde na určité systémy.