/ORDER (Colocar las funciones en orden)
/ORDER:@filename
Parámetros
- filename
Archivo de texto que especifica el orden de vinculación de las funciones COMDAT.
Comentarios
La opción /ORDER indica a LINK que optimice el programa mediante la colocación de determinados COMDAT dentro de la imagen en un orden predeterminado. LINK coloca las funciones en el orden especificado en cada una de las secciones de la imagen.
El orden deberá especificarse en filename, archivo de texto (archivo de respuesta) en el que se enumeran las COMDAT de la vinculación en el orden deseado. Cada línea de filename deberá contener el nombre de una COMDAT. Los objetos compilados con la opción /Gy contendrán funciones COMDAT. Los nombres de función distinguen entre mayúsculas y minúsculas.
LINK usa formatos representativos para los identificadores. El compilador decora los identificadores cuando crea el archivo .obj. La herramienta DUMPBIN se utiliza para obtener el formato representativo de un identificador que necesite especificarse en el vinculador. Para obtener más información acerca de los nombres representativos, vea Nombres representativos.
Si se usa más de una especificación /ORDER, la última especificada será la que tenga efecto.
El orden de vinculación permite optimizar el comportamiento de paginación de un programa con un ajuste del intercambio: agrupando cada función con las funciones a las que llama. También es posible agrupar las funciones a las que se llame con más frecuencia. Estas técnicas aumentan la probabilidad de que la función a la que se llama se encuentre en la memoria cuando se necesite, por lo que no deberá ser paginada desde el disco.
El vinculador antepondrá un carácter de subrayado (_) a todos los nombres representativos de filename que no empiecen con un signo de interrogación (?) o una arroba (@). Por ejemplo, si un archivo objeto contiene extern "C" int func(int) e int main(void), DUMPBIN /SYMBOLS mostrará los siguientes nombres representativos:
009 00000000 SECT3 notype () External | _func
00A 00000008 SECT3 notype () External | _main
No obstante, los nombres que deberán especificarse en el archivo de orden son func y main.
La opción /ORDER deshabilita la vinculación incremental.
Nota |
---|
LINK no puede ordenar las funciones estáticas porque sus nombres no son nombres de símbolo públicos.Si se especifica /ORDER, se generará la advertencia del vinculador LNK4037 para cada símbolo que, en el archivo de orden, sea estático o no pueda encontrarse. |
Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener más información, vea Establecer las propiedades de un proyecto de Visual C++.
Haga clic en la carpeta Vinculador.
Haga clic en la página de propiedades Optimización.
Modifique la propiedad Orden de funciones.
Para establecer esta opción del vinculador mediante programación
- Vea FunctionOrder.