/ ORDEM (funções de colocar em ordem)
/ORDER:@filename
Parameters
- filename
Um arquivo de texto, especificando a ordem de vinculação para funções COMDAT.
Comentários
A opção de /ORDER informa o LINK para otimizar o seu programa, colocando a determinados COMDATs na imagem em uma ordem predeterminada. LINK coloca as funções na ordem especificada em cada seção da imagem.
Especificar a ordem em nome de arquivo, que é um arquivo de texto (arquivo de resposta) que lista os COMDATs na ordem em que você deseja vinculá-las. Cada linha no nome de arquivo contém o nome de um COMDAT. Um objeto contém COMDATs se ele foi compilado com a opção /Gy. Nomes de função diferenciam maiúsculas de minúsculas.
LINK usa decorados formulários de identificadores. O compilador decora um identificador quando ele cria o arquivo. obj. Use o DUMPBIN ferramenta para obter o formulário decorado de um identificador quando você precisa especificá-lo para o vinculador. Para obter mais informações sobre nomes decorados, consulte Nomes decorados.
Se mais de uma especificação de /ORDER for usada, o último elemento especificado entrará em vigor.
Ordenação permite otimizar o comportamento de paginação do programa por meio do ajuste de troca por uma função com as funções que ele chama de agrupamento. Você pode também agrupar funções chamadas com freqüência. Essas técnicas aumentam a probabilidade de que uma função de chamada está na memória quando ele é necessário e não terá que ser paginada a partir do disco.
O vinculador será prepend um sublinhado (_) para cada nome decorado em nome de arquivo , a menos que o nome começa com um ponto de interrogação (?) ou arroba (@). Por exemplo, se um arquivo de objeto contém extern "C" int func(int) e int main(void), DUMPBIN /SYMBOLS listará esses nomes decorados:
009 00000000 SECT3 notype () External | _func
00A 00000008 SECT3 notype () External | _main
No entanto, o nome especificado no arquivo de ordem deve ser func e main.
A opção /ORDER desabilita o vínculo incremental.
Observação |
---|
LINK possível pedir funções estáticas, como nomes de função estática não são nomes de símbolos públicos. Quando /ORDER é especificado, vinculador LNK4037 de aviso é gerado para cada símbolo, no arquivo de ordem, o que é estáticas ou não encontrado. |
Para definir esta opção de vinculador no ambiente de desenvolvimento Visual Studio
Abra o projeto Property Pages caixa de diálogo. Para obter detalhes, consulte Definindo propriedades de projeto Visual C++.
Clique o vinculador pasta.
Clique o otimização página de propriedades.
Modificar o Ordem da função propriedade.
Para definir esta opção de vinculador programaticamente
- See FunctionOrder.