Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando você usa o compilador Microsoft C++ (MSVC) para criar aplicativos para executar em um sistema operacional Windows de 64 bits, você deve estar ciente dos seguintes problemas:
Um
inte umlongsão valores de 32 bits em sistemas operativos Windows de 64 bits. Para programas que você planeja compilar para plataformas de 64 bits, você deve ter cuidado para não atribuir ponteiros a variáveis de 32 bits. Os ponteiros são de 64 bits em plataformas de 64 bits e você truncará o valor do ponteiro se atribuí-lo a uma variável de 32 bits.size_t,time_teptrdiff_tsão valores de 64 bits em sistemas operacionais Windows de 64 bits.time_té um valor de 32 bits nos sistemas operativos Windows de 32 bits no Visual Studio 2005 e versões anteriores.time_tagora é um inteiro de 64 bits por padrão. Para obter mais informações, consulte Gerenciamento de tempo.Você deve estar ciente de onde seu código usa um
intvalor e o processa como umsize_toutime_tvalor. É possível que o número cresça para ser maior do que um número de 32 bits e os dados sejam truncados quando forem passados de volta para ointarmazenamento.
O modificador %x (formato hexadecimal int ) printf não funcionará como esperado em um sistema operacional Windows de 64 bits. Ele só funcionará nos primeiros 32 bits do valor que é passado para ele.
Use %I32x para exibir um tipo integral de 32 bits no formato hexadecimal.
Use %I64x para exibir um tipo integral de 64 bits no formato hexadecimal.
O %p (formato hexadecimal para um ponteiro) funcionará como esperado em um sistema operacional Windows de 64 bits.
Para obter mais informações, consulte:
Ver também
Configurar projetos C++ para destinos x64 de 64 bits
Guia de portabilidade e atualização do Microsoft C++