Sdílet prostřednictvím


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:

_disable

_outp

fabs

strcmp

_Aktivovat

_outpw

Labs

strcpy

_inp

_rotl

memcmp

strlen

_inpw

_rotr

memcpy

 

_lrotl

_strset

memset

 

_lrotr

Abs

strcat

 

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:

ACOS

COSH

Pow

TGH

ASIN

fmod

SINH

 

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):

funkce Atan

Exp

LOG10

Sqrt

ARCTG2

protokol

Sin

Tan

Funkce COS

 

 

 

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.

Viz také

Referenční dokumentace

Pragma směrnic a __Pragma klíčové slovo

Vnitřní objekty serveru kompilátoru