intrinsic

해당 pragma 인수 목록에 지정 된 함수 호출을 내장 되도록 지정 합니다.

#pragma intrinsic( function1 [, function2, ...] )

설명

해당 내장 pragma 함수 동작이 알려진 컴파일러에 지시 합니다.컴파일러 함수를 호출 하 고 더 나은 성능에 발생 하는 경우 함수 호출 인라인 명령으로 바꾸지 않는 수 있습니다.

라이브러리 함수에 내장 형태는 다음과 같습니다.한 번에 내장 pragma 발생, 지정 된 내장 함수를 포함 하는 첫 번째 함수 정의에 적용 됩니다.소스 파일의 끝에 또는 모양에 효과 계속 한 함수 같은 내장 함수를 지정 하는 pragma입니다.내장 pragma를 함수 정의 외부에서 사용할 수 있습니다-글로벌 수준에 있습니다.

다음 기능 내장 형태를 가지 고 내장 형식을 지정할 때 사용 됩니다 /Oi:

_disable

_outp

fabs

strcmp

_ 활성화

_outpw

실험실

strcpy

_inp

_rotl

memcmp

strlen

_inpw

_rotr

memcpy

 

_lrotl

_strset

memset

 

_lrotr

abs

strcat

 

내장 함수를 사용 하는 프로그램은 함수 호출의 오버 헤드가 필요는 없지만 추가 코드 생성으로 인해 많은 것 때문에 더 빠릅니다.

x86 Specific

_Disable 및 _ 활성화 내장 인터럽트를 비활성화/활성화 하려면 커널 모드 명령을 생성 하 고 커널 모드 드라이버에서 유용 하 게 사용할 수 있습니다.

예제

다음 코드 사용 하 여 명령줄에서 컴파일할 "cl-c-FAs sample.c" sample.asm으로 x 86을 설정 합니다 확인 하 고 CLI 및 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() {
}

끝 x 86 특정

아래에 있는 부동 소수점 함수는 실제로 내장 형태를 하지 않습니다.대신이 프로그램 스택에 넣지 않고 부동 소수점 칩에 직접 인수를 전달 하는 버전 들:

acos

cosh

pow

tanh

asin

fmod

sinh

 

아래에 있는 부동 소수점 함수를 지정할 때 내장 형태를 가집니다 /Oi, /Og, 및 /fp:fast (또는 /og을 포함 하는 옵션: /Ox, /O1, 및 /O2):

atan

exp

log10

sqrt

atan2

log

sin

tan

cos

 

 

 

사용할 수 있는 /fp: 엄격한 또는 /Za true 내장 부동 소수점 옵션의 생성을 재정의할 수 있습니다.이 경우에는 함수가 인수를 프로그램 스택에 넣지 않고 직접 부동 소수점 칩에 전달하는 라이브러리 루틴으로 만들어집니다.

참조 하십시오 # pragma 함수 에 대 한 정보와 예제 소스 텍스트 블록에 대 한 내장을 활성화/비활성화 하는 방법에 있습니다.

참고 항목

참조

Pragma 지시문과 __Pragma 키워드

컴파일러 내장 함수