Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс дек 16, 2018 4:37 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 115 сообщений ]  На страницу Пред. 14 5 6 7 8
Автор Сообщение
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 12:00 am 
Не в сети

Зарегистрирован: Вт июн 24, 2008 11:12 pm
Сообщения: 64
tsdima писал(а):
Автор явно рассчитывал на то, что память, выделяемая malloc, содержит нули. Под виндой это почти так (первые байты всё равно не нулевые), а в убунте нет.
Код:
        mem=malloc(size);
        if(mem==NULL)OutMemory();
#ifdef _UNIX_
        else memset(mem,0,size);
#endif

Если это действительно так, то зачем полагаться на поведение malloc в windows? Почему бы явно не вызвать calloc?


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 12:24 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4879
tsdima писал(а):
После внесения правок Eolite компилируется и под убунтой.

Кроме того я внёс исправление обратных слешей на прямые, это должно и для Колибри подойти.

Отличная новость. Можешь выложить бинарник для Линукса? Я залью его на SVN.

И можешь попробовать скомпилить версию для Колибри?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:08 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
Siemargl писал(а):
По обоим вопросам нет. Покажи где такое используется

Я запускал под отладчиком, вызывается free с левым адресом. Например в toke.cpp есть addconsttotree. При переопределении элемента освобождается ptr->sbuf (если оно не нулевое), однако в новой записи это поле не устанавливается.

Ещё исправлял такое. Есть такая глобальная переменная bufrm. Почти везде после free есть её обнуление, однако в процедуре getintoreg (tokb.cpp) она не обнуляется после free. Она, конечно, потом устанавливается, но free расположен внутри цикла, и повторный вызов не исключён.

Siemargl писал(а):
Какая то заморочка в websvn diff, не могу посмотреть все исправления (

Да, перевод строки в файлах реально бесит. Встречаются файлы и с 0x0D,0x0A,0x0D,0x0A, и с 0x0D,0x0D,0x0A и даже 0x0D,0x0D (хотя под линуксом должно быть 0xA). Сравнение в websvn глючит на таких файлах. Комментарии на руском - то в кодировке 866, то в 1251. Вобщем надо как-то облагораживать исходники. Я так полагаю, это клиент SVN гадит? Перекодирует переводы строки?


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:14 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
Leency писал(а):
И можешь попробовать скомпилить версию для Колибри?

Для Колибри я ещё не устанавливал тулзы от Serge, если кто-то уже имеет настроенную среду, просьба откомпилировать. Как впрочем и для win32.
Я сомневаюсь, правильно ли я внёс правки в port.h, я уже потом увидел, что stricmp и ещё 3 процедуры только не для _WIN32_ определяются в port.cpp, надо бы их тоже ifdef-ами окольцевать.


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:15 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 252
b00bl1k писал(а):
tsdima писал(а):
Автор явно рассчитывал на то, что память, выделяемая malloc, содержит нули. Под виндой это почти так (первые байты всё равно не нулевые), а в убунте нет.
Код:
        mem=malloc(size);
        if(mem==NULL)OutMemory();
#ifdef _UNIX_
        else memset(mem,0,size);
#endif

Если это действительно так, то зачем полагаться на поведение malloc в windows? Почему бы явно не вызвать calloc?

Goood!!!! Круто все теперь работает, скомпилировал для Ubuntu 18.04 и с помощью этого компиляотра смог я собрать Eolite без ошибок и запустить его, пришлось правда много еще в коде поисправлять, но самое главное благодаря тебе решение нашлось!!!


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:27 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
Leency писал(а):
Можешь выложить бинарник для Линукса?

Для какой версии линукса? :) В зависимости от версии gcc, используемой в дистрибутиве, бинарник будет разный (почти всегда). Так что для линукса лучше исходники и корректный makefile, который, впрочем, тоже может отличаться для разных версий. В частности - используемые для компиляции опции. Взрослые проекты имеют возможность запускать make configure, для таких случаев.


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:34 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
pavelyakov писал(а):
пришлось правда много еще в коде поисправлять

Поподробнее можно? Я и в Ubuntu 14.04 x64 собирал без ошибок, и в Ubuntu 16.04 x32. Только warnings, которых немеряно. Но это привередливость gcc - с каждой новой версией всё больше.


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:44 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
b00bl1k писал(а):
зачем полагаться на поведение malloc в windows? Почему бы явно не вызвать calloc?

А может оно и было раньше так. Поди найди теперь оригинальные исходники от Peter Cellik...
Видимо в какой-то момент кто-то бездумно поменял.


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 1:48 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 252
tsdima писал(а):
pavelyakov писал(а):
пришлось правда много еще в коде поисправлять

Поподробнее можно? Я и в Ubuntu 14.04 x64 собирал без ошибок, и в Ubuntu 16.04 x32. Только warnings, которых немеряно. Но это привередливость gcc - с каждой новой версией всё больше.

много исправлять пришлось например вместо char надо char unsigned, вместо short надо short unsigned итд


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 10, 2018 2:59 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 252
Вложение:
cmm.7z [454.15 КБ]
12 скачиваний
Для Ubuntu 18.04 x64 внутри бинарник скомпилированный и исходный код


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 115 сообщений ]  На страницу Пред. 14 5 6 7 8

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB