Поделиться через


/GF (Исключение повторяющихся строк)

Разрешает компилятору создавать одну копию одинаковых строк в образе программы и в памяти во время выполнения.Это оптимизация под названием пул строк, которая может создавать небольшие программы.

/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. Измените свойство Включить пулы строк.

Установка данного параметра компилятора программным способом

  • Дополнительные сведения см. в разделе StringPooling.

См. также

Ссылки

Параметры компилятора

Настройка параметров компилятора