Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.BINKD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.BINKD с датами от 14 Jul 13 17:53:22 до 15 Apr 24 22:17:00, всего сообщений: 1922
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 78 из 1922 =========================================== RU.BINKD =
От   : Pavel Gulchouck                  2:463/68           02 Nov 13 00:54:52
Кому : Roman Trunov                                        02 Nov 13 00:54:52
Тема : То ли лыжи не едут...
FGHI : area://RU.BINKD?msgid=2:463/68+527435d2
На   : area://RU.BINKD?msgid=2:5022/2+526ebbe0
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.BINKD?msgid=2:5022/2+52790f84
==============================================================================
Hi Roman!

28 Oct 13, Roman Trunov ==> Max Vasilyev:

MV>> а 4-гиговые файлы можешь запилить, чтобы работали?
MV>> сейчас binkd глючит по всякому, но не работает

RT> Сейчас 4+ гиговые файлы имеют шанс заработать, если binkd собрать компилятором, в котором:

RT> 1) определяется тип [u]intmax_t, причем как 64-битный;
RT> 2) есть функция strtoumax
RT> 3) есть #define PRIuMAX для печати 64-битных значений
RT> 4) есть функции ftello, fseeko и 64-битный тип off_t и как-то можно перейти на этот тип (через #define
RT> _FILE_OFFSET_BITS=64, __LARGE64_FILES и т.п.).

RT> ну и если никаких багов при вкорячивании всего этого добра не вкосячили :)

Под linux и freebsd 4G-файлы давно и уверенно передаются/принимаются.
Собственно, под них и писалось, и тестировалось. Там всё перечисленное выполняется.
Кажется, mingw-сборка тоже поддерживает (хотя в этом не уверен).

Btw, условия слишком жёсткие.
Если [u]long есть, и он 64-битный, то всё будет работать и без [u]intmax_t, strtoumax, PRIuMAX и пр.

RT> Если какого-то пункта нет - binkd сейчас откатывается ПО ЭТОМУ ПУHКТУ на стандартные 32-битные типы и API, что приводит
RT> с разнообразным непредсказуемым результатам от "получилась обычная 32-битная сборка" до "тут 64, а тут 32, и веселые
RT> глюки в комплекте".

Используются стандартные fseek()/ftell(). Это не API, и они не обязательно 32-битные. Там используется long.

RT> т.е. всякие лиунксовые сборки под современными gcc имеют шанс заработать, если правильно makefile или configure
RT> написать (хотя бы 64-битное файловое API включить). Для всего остального (включая разные версии того же msvc) надо
RT> рисовать набор костылей: где-то достаточно в makefile поиграться, где-то - компиляторно-платформенные куски дописывать.

Да, хорошо бы, чтобы кто-нибудь доделал это как минимум под windows.

              Lucky carrier,
                           Паша
                           aka  gul@gul.kiev.ua
--- GoldED+/LNX 1.1.5
* Origin: printf("%s", "How can I increase performance?\n"); (2:463/68)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.066216 секунды