前几天调试eboot时碰到了个见鬼的事。程序里定义了个BOOLEAN的全局变量g_DownloadImage。程序跑了几遍,判断其值时总是不对。后来偶然注意到在一个文件里的声明写成了extern BOOL g_DownloadImage。有问题吗?随手改回了BOOLEAN。程序跑对了!
天啊,咋回事?
加了个打印,却看到g_DownloadImage的地址居然是奇数。古怪。数据对齐的问题?
翻了翻MSDN,呵呵,
typedef int BOOL;
typedef BYTE BOOLEAN;俺承认学艺不精,从来只知道TRUE、FALSE,却没注意过BOOLEAN、BOOL还是有点不同的。