= Сообщение: 54 из 1947 =========================================== RU.BINKD = От : Pavel Gulchouck 2:463/68 17 Oct 13 22:51:02 Кому : Yuri Myakotin 17 Oct 13 22:51:02 Тема : То ли лыжи не едут... FGHI : area://RU.BINKD?msgid=2:463/68+52604149 На : area://RU.BINKD?msgid=2:5020/4441.1+52601348 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.BINKD?msgid=2:5020/4441.1+5260b779 ============================================================================== Hi Yuri!
17 Oct 13, Yuri Myakotin ==> Pavel Gulchouck:
YM>>> Вообще, с хэндлами и указателями в коде под x64 версию нужно YM>>> аккуратнее, они ж там никак не int (32бит)
PG>> Нет ли у MSVC опции считать int (или хотя бы long) 64-битным на PG>> 64-битной системе?
YM> похоже что нет. Только size_t автоматически 4байта в 32бит и 8байт в 64. А long - синоним int (long long = int64) YM> MSVC вообще варнинги выдает при использовании в присвоении разных типов, даже если они в реальности одно и то же - дабы YM> программеры использовали специализированные типы, а не универсальные типа int или void * - как раз для того, чтобы при YM> изменении размерности типов не переписывать заново код.
Это, конечно, хорошо, если б ещё во всех операционках и компиляторах функции определялись с одинаковыми типами параметров и результата. А то - там int, там unsigned int, там uint32_t, там size_t, там socklen_t...
Какой тип возвращает _findfirst()? Может, там (в структуре DIR) вместо int прописать "int*", а не "long long"? А то ведь "long long" будет давать варнинг на 32-битной системе, потому что там 32-битный указатель, а ему будет присваиваться 64-битный "long long".