Du bist nicht angemeldet.

Werbeanzeige

Schrompf

Alter Hase

Beiträge: 1 410

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

71

11.06.2012, 22:26

Guter Hinweis. lieber <cstdint> als <stdint.h>
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

72

11.06.2012, 22:36

Zu stdint.h vs. cstdint:
Da es Headerdateien sind, werden die nicht an sich compiliert, sondern nur in dem Moment, wo sie von irgendwas eingebunden werden. Der Unterschied ist hier, das stdint.h erstmal zur C-Standardbibliothek gehört. In pre-Standard-C++ hat man die einfach übernommen, dementsprechend auch Header wie stdint.h eingebunden. Aktuelles Standard-C++ verwendet zwar immer noch die C-Standardbibliothek als Teil der größeren C++-Standardbibliothek, aber weil in C++ Standardbibliotheksheader keine Endung haben, hat man stdint.h und co. in cstdint etc. umbenannt.
Die meisten Compiler erlauben aber immer noch, diese Header unter "falschem" Namen einzubinden, genau wie z.B. auch iostream.h statt einfach nur iostream. Oder zumindest war das mal so.

dot

Supermoderator

Beiträge: 9 833

Wohnort: Graz

  • Private Nachricht senden

73

11.06.2012, 22:57

Genaugenommen sind die Header der C Standardlibrary (also die .h Varianten) aus Kompatibilitätsgründen auch Teil der C++ Standardlibrary, ihre Verwendung allerdings depreacted (d.h. man soll sie nichtmehr benutzen). iostream.h ist dagegen natürlich nicht Teil der C++ Standardbibliothek.

Werbeanzeige