다음을 통해 공유


/GF(중복 문자열 제거)

업데이트: 2010년 7월

컴파일러가 실행하는 동안 프로그램 이미지와 메모리에서 동일한 문자열의 한 사본을 만들 수 있도록 합니다. 이것은 더 작은 프로그램을 만들 수 있는 문자열 풀링이라는 최적화입니다.

/GF

설명

/GF를 사용하면 운영 체제는 메모리의 문자열 부분을 스왑하지 않고 이미지 파일에서 해당 문자열을 다시 읽을 수 있습니다.

/GF를 사용하면 문자열을 읽기 전용으로 풀링합니다. /GF를 사용하여 문자열을 수정하면 응용 프로그램에서 오류가 발생합니다.

문자열을 풀링하면 다중 버퍼에 대한 다중 포인터로서 사용될 대상을 단일 버퍼에 대한 다중 포인터로 사용할 수 있습니다. 다음 코드에서 s와 t는 동일한 문자열로 초기화됩니다. 문자열이 풀링되므로 이는 동일한 메모리를 가리키게 됩니다.

char *s = "This is a character buffer";
char *t = "This is a character buffer";

참고

편집하며 계속하기에 사용되는 /ZI 옵션을 사용하면 /GF 옵션이 자동으로 설정됩니다.

참고

/GF 컴파일러 옵션은 각 고유 문자열에 대해 주소 지정 가능한 섹션을 작성합니다. 기본적으로 개체 파일에서는 주소 지정 가능한 섹션을 최대 65,536개까지 보유할 수 있습니다. 프로그램에 둘 이상의 65,536 문자열이 포함된 경우 추가 섹션을 만들기 위해 /bigobj 컴파일러 옵션을 사용합니다.

/GF/O1 또는 /O2를 사용할 때 적용됩니다.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.

  2. C/C++ 폴더를 클릭합니다.

  3. 코드 생성 속성 페이지를 클릭합니다.

  4. 문자열 풀링 사용 속성을 수정합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

참조

컴파일러 옵션

컴파일러 옵션 설정

변경 기록

날짜

변경 내용

이유

2010년 7월

/GF 컴파일러 옵션에서 각 고유 문자열에 대한 섹션을 작성하는 문서입니다.

고객 의견