/GF (Eliminar cadenas duplicadas)

Permite al compilador crear una sola copia de cadenas idénticas en la imagen del programa y en la memoria durante la ejecución. Se trata de una optimización llamada agrupación de cadenas que puede crear programas más pequeños.

/GF

Comentarios

Si utiliza /GF, el sistema operativo no intercambia la parte de cadena de la memoria y permite leer las cadenas otra vez desde el archivo de imagen.

/GF agrupa las cadenas como de sólo lectura. Si intenta modificar las cadenas bajo /GF, se producirá un error de aplicación.

La agrupación de cadenas permite convertir en varios punteros a un solo búfer lo que inicialmente se diseñó como varios punteros a múltiples búferes. En el siguiente segmento de código, s y t se inicializan con la misma cadena. La agrupación de cadenas hace que éstas señalen a la misma memoria:

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

Nota

La opción /ZI, que se utiliza para Editar y continuar, establece la opción /GF de forma automática.

Nota

La opción del compilador /GF crea una sección direccionable para cada cadena única.Además, de manera predeterminada, un archivo de objeto puede contener hasta 65.536 secciones direccionables.Si el programa contiene más de 65.536 cadenas, use la opción del compilador /bigobj para crear más secciones.

/GF está habilitado cuando se utiliza /O1 o /O2.

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.

  2. Haga clic en la carpeta C/C++.

  3. Haga clic en la página de propiedades Generación de código.

  4. Modifique la propiedad Habilitar agrupación de cadenas.

Para establecer esta opción del compilador mediante programación

Vea también

Referencia

Opciones del compilador

Establecer las opciones del compilador