Pull to refresh
116
35.6
Евгений @JordanCpp

Разработчик

Send message

Коррупция есть там где есть деньги. Ну да, логично.

Главная мысль заключается в том, что на успех любого человека в этом мире влияют не только персональные качества, такие как одаренность или способность к чему-то, но и внешние обстоятельства. На первый взгляд, ничего нового и особенного в этом нет, но это пока вы не стали подмечать некоторые критерии как сам автор.

Да вы что? Зумеры начинаю открывать для себя Маркса? Оказывается в малиновых штанах можно сразу родиться и передать их своим детям и внукам:)

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

Потому, что не будет больше у вас быстрых и маленьких программ. Вот почему ха-ха-ха

Уже добавил в закладки. Надо будет посмотреть. Спасибо.

Это здорово. Я все как то намеревался разобраться в данной теме, но дальше кнопки никогда не уходил. Что бы именно с нуля рисовать все контролы и писать их логику.

Но я не вижу продолжения. Нет аудитории , понимающей и принимающей задумку.

В первую очередь это интересно мне. Это мое желание рассказать и показать. И я понимаю и принимаю, что это скорей всего интересно паре десятков человек. Я не создаю платный контент, просто пилю статьи в удовольствие. Поэтому мне не нужны подписчики в ТГ, на Ютубе, что бы впаривать им рекламу. Меня это полностью устраивает.

И у меня нет таймингом и сроков. Захотел написал одно, потом другое.

Идея понятна сразу - уйти от тухлятины вроде многотомных stdlib-ов с их несовместимостями в разных версиях винды. Сделать lightweight + zero dependency в бинарниках.

Да именно так.

Ненормальность в том, в каждом процессоре уже сидит тензорная алгебра, а мы всё юзаем BRUSH.

Это только начало. Этот режим нужен для совместимости со старыми windows. Потом будет режим рисования в буфер, потом opengl и directx. Поверх 2d абстракции с единып api. В этом цель.

Я сейчас на windows простенькое окно вывожу. Без обработки ввода. 4,5 КБ для 32 бит и 5,5 КБ для 64 бит.

Потом это все я оберну в абстракции единого API для linux и windows.

Это не требуется. Код будет собираться и быть совместимым и со стандартным STL и libc идущий в поставке компилятора. Но, что бы добиться минимального бинарника на всех платформах, дополнительно пишу свои совместимые прослойки.

В следующих статьях я буду использовать для сборки под старые системы visual C++ 6.0, а может ещё древнее версию. Под старые версии linux, gcc 3. Куда уж легаснее?

Почти допилил linux версию, осталось реализовать malloc и free. Начал пилить графику.

Приходите в кафе, открываете сумку, ставите на стол эту бандурину.

Люблю пописать асм под 286 за чашечкой кофе:)

Спасибо за статью, интересно.

Ещё один аргумент за С++, это нормальная ООП абстракция типизированная на шаблонах. А не как в glibc.

Вы все правильно пишите. И у меня уже есть похожий проект в репе. Где я пишу все на С++ и полагаюсь на поставляемые libc. И как одна из опций сборки это будет работать. Но мне хотелось бы обеспечить поддержку именно своей версии минимальной libc и STL. Уже успешно доковырял linux версию. Осталось сделать malloc и free, на основе mmap и unmap. Системные вызовы linux уже вызываются. Можете посмотреть в репе. Делаю по примерам в интернете.

Да и я много кода скопирую и для себя осмыслю. И в статье все шаги опишу. Мне интересно как оно все под капотом работает. Интересно же.

Только С++, на С программировать желания нет.

Мне понравилась эта статья. Приложение X11 на ассемблере.

https://habr.com/ru/articles/840590/

И стало интересно, а возможно ли добиться примерно такого же размера. Но на С++ и STL. Конечно настолько малого бинарника не получится, но хотя бы приблизиться получится.

Это было долго, но мы справились!

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

  • Как далеко мы можем зайти в оптимизации бинарника?

  • C отладочной информацией: 10744 байт (10 Кб)

  • Без отладочной информации (stripped): 8592 байт (8 Кб)

  • С оптимизациями stripped and OMAGIC (--omagic это ключ линковщика, из рукводства: Set the text and data sections to be readable and writable. Also, do not page-align the data segment): 1776 байт (1 Kб)

Вообщем вот такая программка с интерфейсом размером в 1 Кб.

Вывод на экран графики. Примитивы, картинки. Опционально загрузчик разных форматов.

Не понимаю, почему статья не заминумована...

Возможно плюсующим нравится?

1
23 ...

Information

Rating
186-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Database Developer
Lead
SQL
Linux