Artigo: 100832 - Última revisão: sexta-feira, 9 de Dezembro de 2005 - Revisão: 5.0 Descrição das convenções de chamada que suporte o compilador de 32 bits
Nota Microsoft Visual C++ .NET 2002 e Microsoft Visual C++ .NET 2003 suportam ambos os o modelo de código gerido que é fornecido pelo Microsoft .NET Framework e modelo de código não gerido Microsoft Windows nativo. As informações contidas neste artigo aplicam-se apenas ao Visual C++ não gerido código. Nota Microsoft Visual C++ 2005 suporta o modelo de código gerido que é fornecido pelo .NET Framework e o modelo de código Windows nativo não gerido. SumárioVisual C++, 32-bit Edition, suporta três convenções de chamada: C (_cdecl) padrão ( _stdcall ) e fastcall ( _fastcall ). O compilador não suporta a convenção de chamada de Pascal ( _pascal ), fornecida pela Microsoft compiladores para MS-DOS e de 16 bits do Windows. A tabela seguinte resume as convenções de chamada.
_cdecl _stdcall _fastcall
-------------------------------------------------------------------
Arguments Pushed R to L Pushed R to L Note 3
Stack cleaned up by Caller Called Called
Naming convention Prepend "_" Note 1 Note 2
Nota 1 _stdcall convenção de chamada decora cada nome da função prepending um carácter de sublinhado (como acontece com a convenção _cdecl ) e acrescentar uma arroba "@" e a representação decimal do número de bytes de espaço de pilha necessário. Cada argumento é aumentado para um múltiplo de quatro bytes. Nota 2 _fastcall convenção de chamada decora cada nome da função por prepending uma arroba "@" e acrescentar uma arroba e a representação decimal do número de bytes de espaço de pilha necessário. Cada argumento é aumentado para um múltiplo de quatro bytes. Nota 3 Os primeiro argumentos da dois função que requerem bytes quatro ou menos são colocados em registos. O autor da chamada emite os restantes parâmetros para a pilha da direita para a esquerda. Este comportamento pode ser alterada em futuras versões. A predefinição convenção de chamada é _cdecl . Se uma aplicação declara uma função que aceita um número variável de argumentos com a convenção de chamada _fastcall ou _stdcall , o compilador utiliza _cdecl convenção de chamada para essa função. Mais InformaçãoOs exemplos de código seguintes ilustram o código gerado a função de chamada e a função chamada para suportar a convenção de chamada C. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 100832
(http://support.microsoft.com/kb/100832/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo