web-dev-qa-db-fra.com

Quel fichier d'en-tête C / C ++ définit un type de données BYTE?

Je porte un en-tête avec cette déclaration:

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

L'en-tête comprend les éléments suivants:

#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>

D'où vient cet BYTE?

23
andandandand

Je suppose que c'est de Windows .

Un octet (8 bits).

Ce type est déclaré dans WinDef.h comme suit:

typedef unsigned char BYTE;

26
dsolimano

Si vous programmez C pour Windows, je suppose que vous utilisez Visual Studio pour développer. Vous pouvez clic droit sur n'importe quel mot clé et sélectionner Aller à la définition F12 pour trouver où il est défini.

BYTE est défini dans WinDef.h

typedef unsigned char       BYTE;
11
user295190

Presque certainement d'un des nombreux en-têtes inclus de windows.h. Le SDK Windows a inclus typedefs pour BYTE, Word et DWORD depuis au moins Windows 2.0 jours (le premier SDK Windows dont je me souviens avoir).

5
RBerteig