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


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

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

См. также

Ссылки

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

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

Журнал изменений

Дата

Журнал

Причина

Июль 2010

Указано, что параметр компилятора /GF создает по разделу для каждой уникальной строки.

Обратная связь от клиента.