Recursos de CRT do Visual C++ 2005
Este tópico contém uma lista dos novos recursos de CRT Visual C++ 2005.
CRT
Alterações significativas
Consulte Quebrar alterações (CRT).
Novos recursos
Versões seguras de várias funções foram adicionados.Essas funções manipular erros de uma maneira melhor e aplicar controles mais rígidas de buffers para ajudar a evitar falhas de segurança comuns.As novas versões seguras são identificadas pelo _s sufixo.
Existentes versões menos seguras de muitas funções tem uso.Para desabilitar os avisos de substituição, definir _CRT_SECURE_NO_WARNINGS.For more information, see Versões com segurança avançada de funções CRT.
Muitas funções existentes agora validar seus parâmetros e invocar o manipulador de parâmetro inválido quando passado um parâmetro inválido.Para obter mais informações, consulte as referências da função individual e o Validação de parâmetro tópico.
Muitas funções existentes agora conjunto errno onde eles fizeram não antes. Consulte referências da função individual específico errno informações.
The typedef errno_t com o tipo inteiro foi adicionado. errno_t é usado sempre que uma função de tipo de retorno ou parâmetro lida com códigos de erro de errno. errno_t substitui errcode.
Funções dependentes de localidade agora tem versões que levam a localidade sistema autônomo um parâmetro em vez de usar a localidade corrente.Essas funções novas têm o _l sufixo.Várias novas funções foram adicionadas ao trabalhar com objetos de localidade.Novas funções incluem _get_current_locale, _create_locale e _free_locale. Consulte referências da função individual para obter mais informações.
Novas funções foram adicionadas para suportar bloqueando e desbloqueando identificadores de arquivo.Para obter mais informações, consulte _lock_file e _unlock_file.
The _spawn família de funções não redefine errno sistema autônomo zero em caso de sucesso, sistema autônomo fazia sistema autônomo versões anteriores. For more information, see _spawn, _wspawn funções.
Versões do printf família de funções que permitem que você especificar a ordem na qual os argumentos são usados estão disponível. See printf_p parâmetros posicional, _cprintf_p _cprintf_p_l _cwprintf_p, _cwprintf_p_l, _printf_p _printf_p_l _wprintf_p, _wprintf_p_l, _sprintf_p _sprintf_p_l _swprintf_p, _swprintf_p_l, _fprintf_p _fprintf_p_l _fwprintf_p, _fwprintf_p_l, _vprintf_p _vprintf_p_l _vwprintf_p, _vwprintf_p_l, _vsprintf_p _vsprintf_p_l _vswprintf_p, _vswprintf_p_l, e _vfprintf_p _vfprintf_p_l _vfwprintf_p, _vfwprintf_p_l.
Unicode é agora um formato de texto com suporte.A função _open oferece suporte _O_TEXTW, _O_UTF8 and _O_UTF16 atributos.A função fopen oferece suporte a "ccs codificação =" método para especificar um formato Unicode.Para obter mais informações, consulte _open, _wopen e fopen, _wfopen e fopen_s, _wfopen_s.
Uma nova versão das bibliotecas CRT criado em código gerenciado (MSIL) está disponível e é usada quando a compilação com o o CLR (ComComummon Idioma Tempo de execução ComComumpilation) opção. Consulte Bibliotecas de tempo de execução c para obter mais informações.
_fileinfo foi removido.
O dimensionar padrão de time_t Agora é 64 bits, que expande o intervalo de time_t e várias das funções de time check-out para o ano 3000. See Gerenciamento de time e as funções de time individuais.
A CRT agora oferece suporte ao configurar a localidade por thread.A função _configthreadlocale foi adicionado para suportar esse recurso.
The _statusfp2 and __control87_2 funções foram adicionadas ao permitir que o processador de ponto de acesso a e controle do ponto de controle de palavra em ambas as 87 x flutuante e flutuante SSE2.
The_mkgmtime e _mkgmtime64 funções foram adicionadas ao fornecer suporte para converter horários (tm struct) ao horário de Greenwich (GMT).
Foram feitas alterações swprintf e vswprintf melhor conformidade com o padrão.For more information, see sprintf _sprintf_l swprintf, _swprintf_l, __swprintf_l.
Um novo arquivo de cabeçalho, INTRIN.H, fornece protótipos para algumas funções intrínsecas.
The fopen função agora possui um atributo N.
The _Open função agora possui um atributo _O_NOINHERIT.
The atoi função agora retorna INT_MAX and sets errno para ERANGE excedente. Em versões anteriores, o comportamento de excedentes era indefinido.
The printf família de funções suporta hexadecimal saída de ponto flutuante implementada de acordo com o padrão ANSI C99 usando o formato de tipo especificadores de %a and %A.Para obter mais informações, consulte printf digitar caracteres de campo.
The printffamília agora suporta o prefixo de dimensionar "ll" (long long). For more information, see Tamanho e a especificação de distância.
The _controlfp função foi otimizada para um melhor desempenho.
Versões de depurar de algumas funções foram adicionadas.Para obter mais informações, consulte _strdup_dbg, _wcsdup_dbg, _tempnam_dbg, _wtempnam_dbg, _getcwd_dbg, _wgetcwd_dbg, _getdcwd_dbg, _wgetdcwd_dbg,_fullpath_dbg, _wfullpath_dbg.
Adicionado _chgsignl e _cpysignl (versões long double).
Adicionado _locale_t tipo de tipo tabela.
Nova macro _countof macro adicionado para a computação do número de elementos em uma matriz.
Em cada tópico de função, foi adicionada uma seção no .NET estrutura equivalentes.
Várias funções de seqüência de caracteres agora tem a opção de truncamento de seqüências de caracteres em vez de falha quando os buffers de saída são pequenos demais; consulte _TRUNCATE.
_set_se_translator requer o uso de agora o / EHaopção do compilador .
fpos_t Agora é __int64 em /Za (para código C) e quando __STDC__ está definido manualmente (para código C++). Ele era uma struct.
_CRT_DISABLE_PERFCRIT_LOCKS pode melhorar o desempenho de E/S dos programas de thread único.
Nomes POSIX tiverem sido substituídas pela ISO C++ em conformidade com nomes (por exemplo, use _getch em vez de getch).
Novo link Opções .obj arquivos estão disponível para o modo de puro.Para obter mais detalhes, consulte Opções de link.