/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
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.
Haga clic en la carpeta C/C++.
Haga clic en la página de propiedades Generación de código.
Modifique la propiedad Habilitar agrupación de cadenas.
Para establecer esta opción del compilador mediante programación
- Vea StringPooling.
Vea también
Referencia
Establecer las opciones del compilador
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Julio de 2010 |
Documente que la opción del compilador /GF crea una sección para cada cadena única. |
Comentarios de los clientes. |