Столкнулся с одной неприятностью при миграции с 32 на 64 одной сторонней либы. А именно, файлы, сохраненные в 32 проге не открываются в 64 битной.
Подебажив, выяснил, что сползание чтения файлов начинается со считывания шапки файла. А там стуктура типа такой
struct HEader
{
char signature[5];
int minVer;
int maxVer;
unsigned long UserBlockSize;
}
Так вот, первые три поля считались правильно, в последнем — мусор.
Считываю из файла через sizeof(Header)
Как быть? Неужели первое поле виновато?
Как указать размер указателя силой?