今天将之前在win下编好的读取BMP图像功能移植到UNIX下。

碰到的第一个问题是,Linux下的BMP文件头的结构体需要自己重新定义一遍。

第二个问题是,需要搞清楚Linux是32位的还是64位的。因为在定义BMP文件头结构体的时候会定义long型的变量。而在64位系统中long型占8个字节,在32位系统中占4个字节。因此这就会导致文件读取的时候,头信息错位。我的解决办法是将BMP文件头结构体中的long型都换为int型。因为int型在32和64位系统中都是4个字节的。