LINUX.ORG.RU
ФорумTalks

Опять ищу книгу по Libc, компилятору, ведру и т.п.


0

0

Внимание: нужна книга, в которой рассказывается устройство стандартной библиотеки, как она взаимодействует с ядром и компилятором. желательно без формул и алгоритмов, чисто схематично. Статейка тоже сойдет.



Последнее исправление: ShTH (всего исправлений: 1)

Да это и так можно рассказать. Взаимодействует через системные вызовы. Все.

ttnl ★★★★★
()
Ответ на: комментарий от fool_anon

Лучше бы бабу искал.

Баба есть, завтра видимся. ЧЯДНТ?

ShTH
() автор топика
Ответ на: комментарий от ShTH

> да епт, просто интересно как это всё работает.

Бро, я все понимаю, самому было интересно. Там еще прикольно описано, как написать свой загрузчик или микроядро, очень доставляет, крайне рекомендую.

simple_best_world_web_master
()
Ответ на: комментарий от ShTH

Ты главное примеры выполняй, может в мире будет пара новых загрузчиков, или даже целая ОС, там есть истории успеха таких проектов. Не просто так же я тулкит начал писать.

/me выкачал эти сайты целиком, залил на мобилочку и порой перечитывает перед сном

simple_best_world_web_master
()

А ты случайно не тот тип что называл концепцию эскейп последовательностей убожеством ?

Jetty ★★★★★
()
Ответ на: комментарий от simple_best_world_web_master

>Не просто так же я тулкит начал писать.
Можешь подкинуть линков по дизайну тулкитов на низкоуровневых языках(С/асм)?

GAMer ★★★★★
()
Ответ на: комментарий от Jetty

>А ты случайно не тот тип что называл концепцию эскейп последовательностей убожеством ?

Je_tty_

Повеселил =)

GAMer ★★★★★
()
Ответ на: комментарий от simple_best_world_web_master

>Не просто так же я тулкит начал писать.

Эк оно вас, теперь даже читать по вашим ссылкам боязно..

anon_666
()
Ответ на: комментарий от ShTH

>А как они допустим линкуются сядром?

Не линкуются. Прога выполняет системный вызов - ассемблерную команду int 0x80 - в ядре возникает прерывание и вызывается соответствующий обработчик.

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

>Спасибо, дружище!!!

Я даже не знаю, как реагировать :}

anon_666
()
Ответ на: комментарий от GAMer

> Можешь подкинуть линков по дизайну тулкитов

http://en.wikipedia.org/wiki/10-foot_user_interface
http://en.wikipedia.org/wiki/10/GUI
http://en.wikipedia.org/wiki/1955_Louisiana_Highway_renumbering
http://en.wikipedia.org/wiki/3Dconnexion
http://en.wikipedia.org/wiki/3D_data_acquisition_and_object_reconstruction
http://en.wikipedia.org/wiki/3D_Interaction
http://en.wikipedia.org/wiki/3DUI
http://en.wikipedia.org/wiki/45X90_points
http://en.wikipedia.org/wiki/Aaron_Marcus
http://en.wikipedia.org/wiki/Abbot_(framework)
http://en.wikipedia.org/wiki/Direct_mode
http://en.wikipedia.org/wiki/Computer_icon
http://en.wikipedia.org/wiki/Computer_russification
http://en.wikipedia.org/wiki/Computer_supported_cooperative_work
http://en.wikipedia.org/wiki/Computer_terminal
http://en.wikipedia.org/wiki/Computer_user_satisfaction
http://en.wikipedia.org/wiki/Computer_wallpaper
http://en.wikipedia.org/wiki/Confederate_Effect
http://en.wikipedia.org/wiki/Conference_on_Human_Factors_in_Computing_Systems
http://en.wikipedia.org/wiki/Console_application
http://en.wikipedia.org/wiki/Consumability
http://en.wikipedia.org/wiki/Context_awareness
http://en.wikipedia.org/wiki/Context_menu
http://en.wikipedia.org/wiki/Dashboard_(interface)
http://en.wikipedia.org/wiki/Dasher
http://en.wikipedia.org/wiki/Dasymetric_map
http://en.wikipedia.org/wiki/Datum_(geodesy)
http://en.wikipedia.org/wiki/Delimited_search
http://en.wikipedia.org/wiki/DeLorme
http://en.wikipedia.org/wiki/Delphi_Prism
http://en.wikipedia.org/wiki/Design_comics
http://en.wikipedia.org/wiki/Desk_Accessory
http://en.wikipedia.org/wiki/DeskSpace
http://en.wikipedia.org/wiki/Desktop_metaphor
http://en.wikipedia.org/wiki/DeviceKit
http://en.wikipedia.org/wiki/Diagram
http://en.wikipedia.org/wiki/Dialog_box
http://en.wikipedia.org/wiki/Dialog_manager
http://en.wikipedia.org/wiki/Dialog_system
http://en.wikipedia.org/wiki/Digital_elevation_model
http://en.wikipedia.org/wiki/Digital_line_graph
http://en.wikipedia.org/wiki/Digital_mapping
http://en.wikipedia.org/wiki/Digital_menu_systems
http://en.wikipedia.org/wiki/Digital_orthophoto_quadrangle
http://en.wikipedia.org/wiki/Digital_puppetry
http://en.wikipedia.org/wiki/Digital_raster_graphic
http://en.wikipedia.org/wiki/DIGMAP
http://en.wikipedia.org/wiki/Direct_manipulation_interface

Ну и так далее, все не влезло...


на низкоуровневых языках(С/асм)?


Работа с графикой везде одинакова, рекомендую тырить код из гимпа / имажмеджика / всего того, что работает с графикой и до чего сможешь дотянуться (если 2d), потом рекомендую redbook/orangebook про OpenGL если в 3д (или альфаблендинг будет тормозить)

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

>про OpenGL
Мне для железки уровня 8битного контроллера =)
Так что максимум чего тут можно добиться - это уровень Palm или Newton.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

> Так что максимум чего тут можно добиться - это уровень Palm или Newton.

Это смотря что за железка и чего умеет, как реализовано отображение памяти на экран, что за архитектура процессора и так далее.

Для примера - возьми спектрум/msx, тоже 8 бит, а уж какие интерфейсы там рисовали...

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

>>а уж какие интерфейсы там рисовали...
Ни одного приличного на спектруме не видел, либо а-ля win3.11 с 3-4мя кнопками на экран, либо ужос с ШГ шириной в 4 пикселя =)
MSX это вообще суперкомпьютер, у неё же в Turbo R можно было воткнуть вплоть до V9990. А память банковалась вообще замечательно... Но меня беспокоят не железки, а именно подход к написанию тулкита, как это делается на низкоуровневых языках с жесткими ограничениями по памяти. GTK+ конечно хорош, но его подход с GObject'ом имхо тут overkill.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

> Ни одного приличного на спектруме не видел, либо а-ля win3.11 с 3-4мя кнопками на экран, либо ужос с ШГ шириной в 4 пикселя =)

Ну почему, я даже в 3D видел потуги, с анимациями. Шрифты по 4 пикселя были из-за особенностей накладывания масок, ибо у процессора как раз были команды для работы с половинками байт, да и не нужно было делать дополнительные смещения бит, но встречались и нормальные реализации. Вот, напомню тебе: http://zxpress.ru/gallery.php?id=0&num=5000

а именно подход к написанию тулкита, как это делается на низкоуровневых языках с жесткими ограничениями по памяти

Ну во-первых, выпилить все, что только можно выпилить. Например, экран у тебя будет скорее всего фиксированных размеров, а значит контент сразу подгоняем под него, не делая лишних проверок в рантайме, не переносим строчки динамически, по возможности храним сразу координаты в ресурсах. Загрузил ресурс - сразу нарисовал, дабы не держать в памяти (если конечно скорость загрузки позволяет). Если что-то надо держать, скажем координаты кнопок или полей ввода - делаем индексы, дабы не перебирать списки элементов каждый раз в поисках элемента «куда же кликнули». Шрифты делаем само собой пиксельными, причем можно изобрести свою кодировку, в зависимости от размера экрана можно оставить только 1 регистр букв. Но я правда не знаю, что ты хочешь получить, может что-то спектрумоподобное, а может твоя железка может выдавать 24-битный цвет, тут советы могут быть разными.

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

Вот кстати, пример:

если представить, что тебе нужен шрифт на 128 глифов, шириной не более 6 пикселей, а высотой 8, и отображением в виде битовых последовательностей, как это было на спектруме, то можно заранее «сдвинуть» все глифы во все возможные комбинации, это будет 128*8=1024 байт на 1 вариант глифа, при сдвиге будет использовано 2 знакоместа, значит уже 2кб, 6 пикселей в ширину - значит будет до 5 «двойных» наборов, остальные 3 по 1кб. Дабы не строить индексы и не терять на них время в рантайме, делаем одинаковое смещение и размеры у всех глифов, независимо от размера. Получаем от 13кб на шрифты. Это много, зато можно быстро ксорить с байтиками на экране и не страдать моноширинностью. Вопрос только в том, сможешь ли ты позволить себе потратить 13кб?

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

>ибо у процессора как раз были команды для работы с половинками байт
У Z80?Oo 4px afaik делали только из-за большого размера 8х8 и неудобства с 6х8. В мануале что-то таких инструкций сходу не вижу. У него ж даже BCD нету.

По поводу прессы, так там нет нормального интерфейса, активна обычно только одна менюшка, а мне бы хотелось минимум рассмотреть возможность написать полноценный гуй с лейаутами.

железка может выдавать 24-битный цвет

Ну в общем да, для спека. 1bpp во все поля. Хотя даже по прикидкам потребление памяти в один 16к банк не укладывается.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

Ну вот rrd к примеру: http://zx-spectrum.ru/viewtopic.php?f=8&t=439

а мне бы хотелось минимум рассмотреть возможность написать полноценный гуй с лейаутами.

Дык с этого надо было начинать. Ты уж определись, какие фичи у тебя будут, какие объемы данных надо переваривать, как именно отображать (а то изображать блюр и полупрозрачность можно и на спектруме), какие объемы данных и так далее.

ЗЫ: ты случаем не обитатель эпичных тредов на zx.pk.ru?

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

>эпичных тредов
Не, эпик треды я там обошёл =)

GAMer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.