Sdílet prostřednictvím


CRT-Features in Visual C++ 2005

Aktualisiert: November 2007

Dieses Thema enthält eine Liste neuer CRT-Features in Visual C++ 2005.

CRT

Wichtige Änderungen

Weitere Informationen finden Sie unter Breaking Changes (CRT).

Neue Features

  • Sichere Versionen mehrerer Funktionen wurden hinzugefügt. Mithilfe dieser Funktionen werden Fehler besser behandelt und Puffer strenger kontrolliert, um häufige Sicherheitsfehler zu vermeiden. Die neuen sicheren Versionen sind durch ein _s-Suffix gekennzeichnet.

  • Weniger sichere Versionen vieler Funktionen wurden als veraltet eingestuft. Um die Veraltungswarnungen zu deaktivieren, definieren Sie _CRT_SECURE_NO_WARNINGS. Weitere Informationen finden Sie unter Security-Enhanced Versions of CRT Functions.

  • Viele vorhandene Funktionen überprüfen jetzt ihre Parameter und rufen beim Übergeben eines ungültigen Parameters den Handler für ungültige Parameter auf. Weitere Informationen finden Sie in der Referenz der jeweiligen Funktion und unter dem Thema Parameter Validation.

  • Viele vorhandene Funktionen legen jetzt errno fest, wo dies vorher nicht geschehen ist. Spezifische Informationen zu errno finden Sie in der Referenz der jeweiligen Funktion.

  • typedef errno_t wurde als ganzzahliger Typ hinzugefügt. errno_t wird immer dann verwendet, wenn der Rückgabetyp oder Parameter einer Funktion mit Fehlercodes von errno arbeitet. errno_t ersetzt errcode.

  • Gebietsschemaabhängige Funktionen verfügen jetzt über Versionen, die das Gebietsschema als Parameter annehmen, anstatt das aktuelle Gebietsschema zu verwenden. Diese neuen Funktionen sind mit dem _l-Suffix gekennzeichnet. Mehrere neue Funktionen für die Zusammenarbeit mit Gebietsschemaobjekten wurden hinzugefügt. Zu den neuen Funktionen gehören _get_current_locale, _create_locale und _free_locale. Weitere Informationen finden Sie in der Referenz der jeweiligen Funktion.

  • Neue Funktionen zum Sperren und Entsperren von Dateihandles wurden hinzugefügt. Weitere Informationen finden Sie unter _lock_file und _unlock_file.

  • Im Unterschied zu früheren Versionen wird errno bei Erfolg nicht von der _spawn-Funktionsreihe auf 0 (null) zurückgesetzt. Weitere Informationen finden Sie unter _spawn, _wspawn Functions.

  • Es stehen Versionen der printf-Funktionsreihe zur Verfügung, mit denen Sie die Reihenfolge der Verwendung der Argumente festlegen können. Weitere Informationen finden Sie unter printf_p Positional Parameters, _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 und _vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l.

  • Unicode wird jetzt als Textformat unterstützt. Die Funktion _open unterstützt die Attribute _O_TEXTW, _O_UTF8 und _O_UTF16. Die fopen-Funktion unterstützt die "ccs=ENCODING"-Methode zum Angeben eines Unicode-Formats. Weitere Informationen finden Sie unter _open, _wopen, fopen, _wfopen und fopen_s, _wfopen_s.

  • Eine neue Version der CRT-Bibliotheken, die in verwaltetem Code (MSIL) geschrieben sind, steht ab sofort beim Kompilieren mit der /clr (Common Language Runtime-Kompilierung)-Option zur Verfügung. Weitere Informationen finden Sie unter C Run-Time Libraries.

  • _fileinfo wurde entfernt.

  • Die Standardgröße für time_t beträgt nun 64 Bits, wodurch der Bereich von time_t und verschiedenen anderen Zeitfunktionen bis zum Jahr 3000 erweitert wurde. Weitere Informationen finden Sie unter Zeitmanagement und den einzelnen Zeitfunktionen.

  • CRT unterstützt ab sofort das threadspezifische Festlegen des Gebietsschemas. Hierfür wurde die Funktion _configthreadlocale hinzugefügt.

  • Die _statusfp2-Funktion und die __control87_2-Funktion wurden hinzugefügt, damit Zugriff und Steuerung für das Gleitkomma-Steuerwort sowohl für den x87- als auch den SSE2-Gleitkommaprozessor möglich sind.

  • Die Funktionen _mkgmtime und _mkgmtime64 wurden hinzugefügt, um das Konvertieren von Zeiten (struct tm) in Greenwich Mean Time (GMT) zu unterstützen.

  • Für eine verbesserte Konformität mit dem Standard wurden Änderungen an swprintf und vswprintf vorgenommen. Weitere Informationen finden Sie unter sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l.

  • Eine neue Headerdatei, INTRIN.H, bietet Prototypen für einige systeminterne Funktionen.

  • Die fopen-Funktion verfügt jetzt über ein N-Attribut.

  • Die _open-Funktion verfügt jetzt über ein _O_NOINHERIT-Attribut.

  • Die atoi-Funktion gibt jetzt INT_MAX zurück und legt bei einem Überlauf errno auf ERANGE fest. In früheren Versionen war das Überlaufverhalten nicht definiert.

  • Die printf-Funktionsreihe unterstützt die nach dem ANSI C99-Standard implementierte hexadezimale Gleitkommaausgabe mit den Formattypbezeichnern %a und %A. Weitere Informationen finden Sie in Feldzeichen vom Typ printf.

  • Die printf-Funktionsreihe unterstützt jetzt das Größenpräfix "ll" (long long). Weitere Informationen finden Sie unter Size and Distance Specification.

  • Die _controlfp-Funktion wurde für eine bessere Leistung optimiert.

  • Debugversionen einiger Funktionen wurden hinzugefügt. Weitere Informationen finden Sie unter _strdup_dbg, _wcsdup_dbg, _tempnam_dbg, _wtempnam_dbg, _getcwd_dbg, _wgetcwd_dbg, _getdcwd_dbg, _wgetdcwd_dbg und _fullpath_dbg, _wfullpath_dbg.

  • _chgsignl und _cpysignl (long double-Versionen) wurden hinzugefügt.

  • Der _locale_t-Typ wurde zur Typtabelle hinzugefügt.

  • Neues Makro _countof Macro zum Berechnen der Anzahl von Elementen in einem Array wurde hinzugefügt.

  • Jedem Thema zur jeweiligen Funktion wurde ein Abschnitt über .NET Framework-Entsprechungen hinzugefügt.

  • Mehrere Zeichenfolgenfunktionen verfügen jetzt über die Option zum Abschneiden von Zeichenfolgen und schlagen bei zu kleinen Ausgabepuffern nicht mehr fehl. Weitere Informationen finden Sie unter _TRUNCATE.

  • _set_se_translator erfordert jetzt die Verwendung der /EHa-Compileroption.

  • Unter /Za (für C-Code) und wenn __STDC__ manuell festgelegt wird (für C++-Code), ist fpos_t jetzt vom Typ __int64. Davor galt dieser als struct.

  • _CRT_DISABLE_PERFCRIT_LOCKS kann die E/A-Leistung von Programmen mit nur einem Thread verbessern.

  • POSIX-Namen wurden zugunsten der ISO C++-konformen Namen als veraltet eingestuft (verwenden Sie z. B. besser _getch als getch).

  • Im pure-Modus sind neue Linkoptionen für OBJ-Dateien verfügbar. Ausführliche Informationen finden Sie unter Link Options.

  • _recalloc kombiniert Features von realloc und calloc.

Siehe auch

Konzepte

Änderungen in den Visual C++ 2005-Bibliotheken