Newlib

Discussing libraries simplifying applications development
  • pascualle
    Объявление есть в fplay.h, конечно надо перенести в kos32sys.h. Функция обязательна при создании потоков, использующих функции newlib.
    int create_thread(int (*proc)(void *param), void *param, int stack_size);
    ...какой мне пример для изучения брать лучше?
    Если это игровой движок, смотри исходники Doom: i_sound.c s_sound.c функции I_UpdateSound() S_Init() sound_proc().
    Spoiler:Doom собирался OpenWatcom с ваткомовской же CLib, поэтому есть расхождения в именах функций.
  • Serge,
    осваиваю звук, newlib содержит файл kolibri\contrib\sdk\sources\newlib\libc\include\sound.h, но не содержит ни obj-файла, ни lib-файла, ни исходника, реализующего функционал. Приходит на мысль, что реализация находится по пути (svn)/programs/develop/sdk/trunk/sound/src. Так ли это?

    update:
    спасибо!
    Last edited by pascualle on Thu Aug 07, 2014 3:17 pm, edited 1 time in total.
  • pascualle
    Сделал мейкфайлы, смотри последние коммиты на svn
  • Serge,
    Проверил работоспособность newlib, sdk, fplay

    библиотека render
    обнаружено две опечатки, исправил
    contrib\sdk\sources\render\render.c

    библиотека pixman
    не правильно формируется имя библиотеки, нужно переименовать pixlib.dll.a --> libpixlib.dll.a
    переименовал вручную

    fplay работает

    Все исправления, отчет о работе и бинарники здесь:
    https://bitbucket.org/pascualle/tengine ... 080814.zip
    (доступ временный, скачай пожалуйста)

    очень надеюсь увидеть новую newlib в дистрибутиве kolibrios
  • pascualle wrote:очень надеюсь увидеть новую newlib в дистрибутиве kolibrios
    В ISO образ можно размещать почти все, но вот в IMG образ класть тяжелые ЯВУ библиотеки не стоит, там и так места впритык.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Удалить тяжелые игры, демки, 3D и появиться относительно много места для нужных вещей.
  • Unusual wrote:Удалить тяжелые игры, демки, 3D и появиться относительно много места для нужных вещей.
    На самом деле все тяжелые "игры, демки, 3D" уже давно удалены. То что осталось "тяжелого" потянет на 150 КБ, а если удалить все то для 80-90% тех кто хоть раз запускает систему она вообще потеряет интерес.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Сейчас необходимая для запуска newlib-based программ libc.dll весит 232кБ.
    Много это или мало -- решать не мне, но я знаю точно, что поддержка ЯВУ привлекает разработчиков прикладных программ, что в свою очередь популяризирует операционную систему.

    В данном случае речь идет о с/с++, потому надо канонизировать единую библиотеку и включить ее в дистрибутив IMG, все это сделает мир чуточку светлее, поверьте мне.
  • Если упаковать будет 95Кб, но одной libc мало. Всё равно нужен дистрибутив с установщиком на диск.
  • pascualle wrote:В данном случае речь идет о с/с++, потому надо канонизировать единую библиотеку и включить ее в дистрибутив IMG, все это сделает мир чуточку светлее, поверьте мне.
    Торвальдс об Упячке ЦэПласПлас:
    http://harmful.cat-v.org/software/c++/linus
    Подробности на русском:
    https://toster.ru/q/27307
    Spoiler:Мир уже наполнен говном, в нем нет места свету.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4,
    довольно странны слова твои, как по мне, похоже на какое-то агрессивное православие (с)

    Хочу заметить, что мы находимся в ветке "Проекты » Прикладные библиотеки", это автоматически означает, что никто не зарится на целостность и принципы операционной системы kolibriOS. С другой стороны, ни для кого не секрет, что только прикладные программы делают операционную систему популярной. Логично, что разработчики тоже должны разделяться на две группы.
    Первая группа -- kernel-разработчики, довольно закрытое сообщество, бдящие принципы операционной системы. Тут все понятно, ядро должно быть стабильным, неубиваемым и быстрым. Здесь четко определен язык разработки, стиль кода, критерии приемки и т.д.
    Вторая группа -- разработчики прикладных программ. Единственное что их связывает -- операционная система. Никто не в праве запретить разработчику этой группы на чем писать и как писать, ибо прикладная программа пишется для пользователей. Только пользователи решают -- будут они пользоваться этой программой, или же сочтут ее как не соответствующей их потребностям. Чем больше языков программирования поддерживается операционной системой -- тем она более привлекательнее для разработчиков.

    Теперь о с/с++. Я сам многие годы пишу на с и на с++, четко их разделяя. Мое мнение простое: каждому инструменту -- свое применение.
  • Прикладные программисты, если они пишут программу с нуля, также должны пытаться сделать ее максимально менее требовательной к ресурсам компьютера и быстрой в работе.
    to infinity and beyond
  • pascualle wrote:Mario_r4,
    довольно странны слова твои, как по мне, похоже на какое-то агрессивное православие (с)
    Это не православие - это у меня FASM. Заболевание неизлечимое, ну, разве что совсем бросить программировать.
    Насчет инструментов мог бы и согласиться, но "... широк человек, слишком даже широк, я бы сузил."

    З.Ы. Не надо понимать мои слова превратно. В проекте никто никому не запрещает пользоваться чем душе угодно. Однако стремление к оптимизации кода, в том числе за счет используемых инструментов, очень приветствуется.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Обновились кросскомпиляторы от Serge.

    Инструкция по установке не поменялась, находится здесь (пункты "Установка toolchain" и "Установка libc", обновить (root)/contrib/sdk/sources/newlib)

    В дистрибутиве "25 авг 2014" находится более старая и не совместимая с текущим транком newlib библиотека libc.dll, так что после сборки приложения нужно подменить старую библиотеку на новую (или воспользоваться функционалом "searchapp")

    p.s. Serge как всегда спасибо и почет!
  • Who is online

    Users browsing this forum: No registered users and 3 guests