intrinsic
Určuje, že volání funkcí v seznamu argumentů pragma vnitřní.
#pragma intrinsic( function1 [, function2, ...] )
Poznámky
Vnitřní pragma kompilátoru sděluje, že funkce má známé chování.Kompilátor může volání funkce a není nahradit volání funkce vložené pokyny, pokud je výsledkem bude zvýšení výkonu.
Funkce knihovny formulářů vnitřní jsou uvedeny níže.Jednou vnitřní je vidět pragma, nabývá účinku na první definice funkce obsahující zadaný vnitřní funkce.Efekt pokračuje na konec zdrojového souboru nebo vzhled funkce pragma určující vnitřní stejnou funkci.Vnitřní pragma lze použít pouze vně definice funkce – na globální úrovni.
Následující funkce nemají vnitřní formuláře a vlastní formuláře se používají při zadání /Oi:
|
|||
|
|||
|
Programy, které používají vnitřní funkce jsou rychlejší, protože nemají režie volání funkce, ale může být kvůli další kód generovaný větší.
x 86 specifické
Vnitřní objekty serveru _disable a _Aktivovat generovat režimu jádra pokynů zapnout/vypnout přerušení a může být užitečné pro ovladače režimu jádra.
Příklad
Z příkazového řádku s následující kód kompilovat "cl - c-sample.c DM" a podívejte se na sample.asm zobrazíte jejich zapnutí do x 86 pokyny CLI a STI:
// pragma_directive_intrinsic.cpp
// processor: x86
#include <dos.h> // definitions for _disable, _enable
#pragma intrinsic(_disable)
#pragma intrinsic(_enable)
void f1(void) {
_disable();
// do some work here that should not be interrupted
_enable();
}
int main() {
}
Konkrétní koncové x 86
Dále uvedených funkcí s plovoucí desetinnou čárkou nemají true vnitřní formulářů.Místo toho mají verze, které předávají argumenty přímo na čipu s plovoucí desetinnou čárkou, nikoli jejich předání do zásobníku program:
|
Dále uvedených funkcí s plovoucí desetinnou čárkou mají true vnitřní formulářů při zadání /Oi, /Og, a /fp:fast (nebo možnost, která zahrnuje /Og: /Ox, /O1a /O2):
|
|
|
Můžete použít /fp: přísné nebo /Za potlačit generace true vnitřní možnosti s plovoucí desetinnou čárkou.V tomto případě funkce jsou generovány jako knihovna rutin, které předávají argumenty přímo s plovoucí desetinnou čárkou čipu namísto jejich předání do zásobníku program.
Viz # pragma funkce informace a příklad, jak povolit nebo zakázat vnitřní objekty serveru pro blok zdrojového textu.