2010-12-20 7 views
21

estoy portar un encabezado con esta declaración:¿Qué archivo de cabecera C/C++ define un tipo de datos BYTE?

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

La cabecera tiene la siguiente incluye:

#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ónde viene ese byte viene?

+1

+1 para establecer claramente la pregunta, así como proporcionar un contexto suficiente para proporcionar una respuesta útil. – RBerteig

Respuesta

25

Supongo que es de Windows.

A byte (8 bits).

Este tipo se declara en WinDef.h como sigue:

typedef BYTE unsigned char;

+5

Y uno debería agregar que no debería ser usado. Todos los tipos enteros de mayúsculas y minúsculas son inútiles para la codificación de código que solo sirven para hacer código innecesariamente vinculado a Windows. Simplemente use los tipos estándar correspondientes, como 'unsigned char' o' uint8_t' (que debe ser idéntico si este último existe). –

+1

stdint no se agregó a Visual Studio hasta 2010. –

+10

Si está utilizando funciones WINAPI, debe usar tipos de datos de Windows. http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/c066968d-8cb7-4e5a-9807-aa9cd47c65ed –

5

Casi con seguridad de uno de los muchos encabezados incluidos desde windows.h. El Windows SDK ha incluido typedef s para BYTE, WORD y DWORD desde al menos Windows 2.0 días (el primer SDK de Windows que recuerdo tener).

10

Si está programando C para Windows, supongo que está utilizando Visual Studio para desarrollar. Puede hacer clic derecho en en cualquier palabra clave y seleccionar Ir a DefiniciónF12 para encontrar donde se define.

BYTE se define en WinDef.h

typedef unsigned char  BYTE; 
Cuestiones relacionadas