function (C/C++)

해당 pragma 인수 목록에 지정 된 함수 호출을 생성 하도록 지정 합니다.

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

설명

사용 하는 경우는 내장 pragma (또는 /Oi) 사용 하 여 내장 함수 (내장 함수 생성 함수 호출으로 인라인 코드)를 생성 하도록 컴파일러에 지시를 함수 pragma를 함수 호출을 명시적으로 강제로.함수 pragma가 표시 되 면 지정 된 내장 함수를 포함 하는 첫 번째 함수 정의에 적용이 됩니다.효과 모양 또는 소스 파일의 끝에 계속 되는 내장 같은 내장 함수를 지정 하는 pragma입니다.함수 pragma는 함수 외부에 사용할 수 있습니다-글로벌 수준에 있습니다.

내장 형태를 가지는 함수 목록을 참조 하십시오. # pragma 내장.

예제

// pragma_directive_function.cpp
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// use intrinsic forms of memset and strlen
#pragma intrinsic(memset, strlen)

// Find first word break in string, and set remaining
// chars in string to specified char value.
char *set_str_after_word(char *string, char ch) {
   int i;
   int len = strlen(string);  /* NOTE: uses intrinsic for strlen */

   for(i = 0; i < len; i++) {
      if (isspace(*(string + i))) 
         break;
   }

   for(; i < len; i++) 
      *(string + i) = ch;
   
   return string;
}

// do not use strlen intrinsic
#pragma function(strlen)

// Set all chars in string to specified char value.
char *set_str(char *string, char ch) {
   // Uses intrinsic for memset, but calls strlen library function
   return (char *) memset(string, ch, strlen(string));
}

int main() {
   char *str = (char *) malloc(20 * sizeof(char));

   strcpy_s(str, sizeof("Now is the time"), "Now is the time");
   printf("str is '%s'\n", set_str_after_word(str, '*'));
   printf("str is '%s'\n", set_str(str, '!'));
}
  

참고 항목

참조

Pragma 지시문과 __Pragma 키워드