我試圖將在這裏找到的C openGL紋理加載代碼移植到C++中: http://www.nullterminator.net/gltexture.html 。特別是我想對付從文件中讀取一些紋理,什麼是一個地道和便攜的方式重寫下面的代碼的最佳方式:BYTE C宏的C++替換
GLuint texture;
int width = 256, height = 256;
BYTE * data;
FILE * file;
// open texture data
file = fopen(filename, "rb");
if (file == NULL) return 0;
// allocate buffer
data = malloc(width * height * 3);
// read texture data
fread(data, width * height * 3, 1, file);
fclose(file);
特別的是替換的最好方式以可移植的C++方式使用BYTE宏?
編輯:BYTE宏沒有在我工作的當前環境中定義。我試圖弄清楚這是在其他系統上的底層類型,以便我可以typedef爲正確的類型。
什麼是宏擴展到?你爲什麼不能使用它?從它的BYTE *的外觀來看,它只是char *或unsigned char * – 2011-05-02 11:06:22
在這個特定的系統上,好像BYTE沒有被定義。另外,我寧願不要將代碼保留原樣,因爲我們試圖保持一種專門用於C++的編碼標準。 – shuttle87 2011-05-02 11:17:09