/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 개발 환경에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.
C/C++ 폴더를 클릭합니다.
코드 생성 속성 페이지를 클릭합니다.
문자열 풀링 사용 속성을 수정합니다.
프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면
- StringPooling를 참조하십시오.
참고 항목
참조
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2010년 7월 |
/GF 컴파일러 옵션에서 각 고유 문자열에 대한 섹션을 작성하는 문서입니다. |
고객 의견 |