= Сообщение: 80 из 1947 =========================================== RU.BINKD = От : Roman Trunov 2:5022/2 05 Nov 13 10:09:48 Кому : Pavel Gulchouck 05 Nov 13 10:09:48 Тема : То ли лыжи не едут... FGHI : area://RU.BINKD?msgid=2:5022/2+52790f84 На : area://RU.BINKD?msgid=2:463/68+527435d2 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.BINKD?msgid=2:463/68+5278a0df ============================================================================== Hello Pavel!
PG> Под linux и freebsd 4G-файлы давно и уверенно передаются/принимаются.
Hе-а. Там минимум в двух местах в protocol.c простой atol был. Видать, никто в эту ветку кода пока не попадал. А кто попадал - ничего не понял :)
PG> Кажется, mingw-сборка тоже поддерживает (хотя в этом не уверен).
Теоретически шансы есть, там же инклуды ближе к линуксовым и _FILE_OFFSET_BITS может сразу заработать.
А вот Билли опять подложил свинью. Во всех MSVC по крайней мере до 2010 включительно off_t есть, но он ВСЕГДА 32-битный. Пришлось заводить собственный boff_t и определять соответственно.
В общем, некоторый прогресс у меня есть, под MSVC 10.0/2010 оно уже собирается правильно, сейчас нужно еще доделать сборку под более ранними версиями MSVC (собранное 10.0 не работает под Win2K как минимум). И еще я бы хотел перетрясти использование системных #include (stdio.h и т.п.) в основном коде. По моему сформировавшемуся с годами мнению - в подобных кросс-платформенных проектах там их быть не должно. Все модули (хотя бы из "корня" проекта, про платформо-зависимые костыли пока можно не говорить) должны начинаться с #include "sys.h", а уже в нем должен инклюдиться джентельменский набор системных хеадеров - с учетом всех HAVE_xxx и наших переопределений. А то сейчас уже начинает наблюдаться бардак. "sys.h" постепенно обрастает хаками и редефайнами стандартных функций, между тем часть модулей его включало, часть не включало, часть включало опосредованно на хз-каком уровне вложенности из другого инклуда в неизвестно каком порядке по отношению к переопределяемому термину, и т.п. Hекоторое время назад я уже заловил переопределение O_BINARY в 0 там, где он должен быть ненулевым (хорошо, этот модуль его вроде не использовал) и считаю, что подобный бардак надо пресекать в зародыше.
Roman
--- GoldED+/W32 1.1.0 * Origin: ...fwrote(). That's the past tense of fwrite() (2:5022/2)