Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Essas opções determinam a ordem na qual a função argumentos são colocados na pilha; se a função do chamador ou a função telefonar remove os argumentos da pilha no participante da telefonar; e a convenção de decoração de nome que o compilador usa para identificar funções individuais.
/Gd
/Gr
/Gz
Comentários
Observação: |
|---|
Essas opções de compilador só estão disponível no compilador x86 de direcionamento; essas opções do compilador não estão disponível em compiladores direcionamento x64 ou Itanium. |
/Gd, a configuração padrão, especifica a __cdecl convenção de chamada para todas as funções, exceto de membro C++ funções e marcado __stdcall ou __fastcall.
/Gr Especifica o __fastcall convenção de chamada para todas as funções, exceto de membro C++ sfunctions e funções marcadas __cdecl ou __stdcall. All __fastcall funções devem ter protótipos.
/Gz Especifica o __stdcall convenção de chamada para todas as funções, exceto de membro C++ funções e marcado __cdecl ou __fastcall. All __stdcallfunções devem ter protótipos.
Funções que levam a um número variável de argumentos devem ser marcadas __cdecl.
/Gd, /Gr, e /Gz não são compatível com o / CLR: safe or /clr:pure.
Observação: |
|---|
Para x86 processadores, por padrão, o uso de funções de membro C++ __thiscall. |
Para todos sistema autônomo processadores, uma função de membro que esteja explicitamente marcado sistema autônomo __cdecl, __fastcall, ou __stdcall usa a convenção de chamada especificada. Uma função de membro que leva um número variável de argumentos sempre usa o __cdecl convenção de chamada.
__cdecl especificações
Para C, a __cdecl convenção de nomeclatura usa o nome de função precedido por um sublinhado ( _ ); caso nenhuma conversão é executada. A menos que declarado sistema autônomo extern"C" funções C++ usam um esquema de decoração de nome diferente. Para obter mais informações, consulte Nomes decorados.
__fastcall especificações
Alguns de um __fastcall argumentos da função são passados em registros (para x86 processadores, ECX e EDX), e o restante são colocados na pilha da direita para a esquerda. A rotina de chamada aparece desses argumentos da pilha antes de retornar.Normalmente, /Gr diminui o time de execução.
Observação: |
|---|
Tenha cuidado ao usar o __fastcall convenção de chamada para qualquer função escrita na linguagem de assembly embutido. O uso dos registros pode entrar em conflito com o uso do compilador. |
Para C, a __fastcall convenção de nomeclatura usa o nome de função precedido por uma arroba ()@) seguido o dimensionar dos argumentos da função em bytes. Não é feita nenhuma conversão de maiúsculas.O compilador usa o modelo a seguir para a convenção de nomeclatura:
@function_name@number
Ao usar o __fastcall convenção de nomes, use os arquivos de inclusão padrão. Caso contrário, você obterá referências externas não resolvidas.
__stdcall especificações
A __stdcall argumentos da função são colocados na pilha da direita para a esquerda e a função chamada aciona esses argumentos da pilha antes de retornar.
Para C, a __stdcall convenção de nomeclatura usa o nome de função precedido por um sublinhado ( _ ) e seguido por uma arroba (@) e o dimensionar dos argumentos da função em bytes. Caso nenhuma conversão é executada.O compilador usa o modelo a seguir para a convenção de nomeclatura:
_functionname@number
x86 específicos
Essa opção não tem efeito sobre a decoração de nome de C++ métodos e funções.A menos que declarado sistema autônomo extern"C", funções e métodos C++ usam um esquema de decoração de nome diferente. Para obter mais informações, consulte Nomes decorados.
Para obter mais informações sobre convenções de chamada, consulte Calling Conventions.
participante x86 específicos
Para conjunto esta opção do compilador no ambiente de desenvolvimento do Visual Studio
em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Como: Abrir o Projeto Propriedade Páginas.
clicar no C/C++ pasta.
clicar no Avançado página de propriedades.
Modificar o Convenção de chamadapropriedade .
Observação: