我正在运行一个文件并处理 30 种左右不同的片段类型。所以每次,我都会读入一个片段并将它的类型(十六进制)与我知道的片段进行比较。这是快还是有其他方法可以让我更快地做到这一点?
这是我正在使用的代码示例:
// Iterate through the fragments and address them individually
for(int i = 0; i < header.fragmentCount; i++)
{
// Read in memory for the current fragment
memcpy(&frag, (wld + file_pos), sizeof(struct_wld_basic_frag));
// Deal with each frag type
switch(frag.id)
{
// Texture Bitmap Name(s)
case 0x03:
errorLog.OutputSuccess("[%i] 0x03 - Texture Bitmap Name", i);
break;
// Texture Bitmap Info
case 0x04:
errorLog.OutputSuccess("[%i] 0x04 - Texture Bitmap Info", i);
break;
// Texture Bitmap Reference Info
case 0x05:
errorLog.OutputSuccess("[%i] 0x05 - Texture Bitmap Reference Info", i);
break;
// Two-dimensional Object
case 0x06:
errorLog.OutputSuccess("[%i] 0x06 - Two-dimensioanl object", i);
break;
它贯穿其中大约 30 个,当有数千个片段时,它可能会有点突兀。有人会建议我如何加快这个过程?
谢谢!