Welche C/C++-Headerdatei definiert einen BYTE-Datentyp?

Lesezeit: 2 Minuten

Benutzer-Avatar
undundundund

Ich portiere einen Header mit dieser Deklaration:

 struct tMaterialInfo {     
    char strName[255]; // the texture name
    char strFile [255]; // the texture
     BYTE color [3]; // the color of the object 
 };

Der Header enthält Folgendes:

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <fstream>
#include <vector>
#include <gl\gl.h> // Header File For The OpenGL32 Library
#include<gl\glu.h>// Header File For The GLu32 Library
#include <gl\glaux.h>

Woher kommt das BYTE?

  • +1 für die klare Formulierung der Frage sowie die Bereitstellung von genügend Kontext, um eine nützliche Antwort zu geben.

    – RBerteig

    20. Dezember 2010 um 1:12 Uhr

Benutzer-Avatar
dsolimano

Ich vermute, es ist von Windows.

Ein Byte (8 Bit).

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef unsigned char BYTE;

  • Und man sollte hinzufügen, dass es nicht verwendet werden sollte. Alle Integer/String-Typen mit Großbuchstaben sind nutzlose Code-Uglification, die nur dazu dienen, Code unnötigerweise an Windows zu binden. Verwenden Sie einfach die entsprechenden Standardtypen wie unsigned char oder uint8_t (die identisch sein müssen, falls letztere überhaupt existiert).

    – R.. GitHub HÖR AUF, EIS ZU HELFEN

    20. Dezember 2010 um 1:49 Uhr

  • stdint wurde Visual Studio erst 2010 hinzugefügt.

    Benutzer295190

    20. Dezember 2010 um 1:53 Uhr

  • Wenn Sie WINAPI-Funktionen verwenden, sollten Sie Windows-Datentypen verwenden. social.msdn.microsoft.com/Forums/en/vcgeneral/thread/…

    Benutzer295190

    20. Dezember 2010 um 2:01 Uhr


Wenn Sie C für Windows programmieren, gehe ich davon aus, dass Sie verwenden Visuelles Studio entwickeln. Du kannst Rechtsklick auf ein beliebiges Stichwort und wählen Sie aus Gehen Sie zu Definition F12 zu finden, wo es definiert ist.

BYTE ist in WinDef.h definiert

typedef unsigned char       BYTE;

Mit ziemlicher Sicherheit von einem der vielen enthaltenen Header windows.h. Das Windows SDK ist enthalten typedefs für BYTE, WORDund DWORD seit mindestens Windows 2.0 Tagen (das früheste Windows SDK, an das ich mich erinnere).

1368220cookie-checkWelche C/C++-Headerdatei definiert einen BYTE-Datentyp?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy