OSDev
http://osdev.su/

Miraculix OS
http://osdev.su/viewtopic.php?f=4&t=17
Страница 4 из 6

Автор:  Yoda [ 06 апр 2013, 21:48 ]
Заголовок сообщения:  Re: Miraculix OS

JSON писал(а):
Ребят, без исходников цена ПО - ноль.

Всё зависит от того, что это за продукт и с какой целью написан.
Есть открытый линукс, но большинство почему-то пользуются закрытым виндовсом.
Я сам прошёл через этап, когда открытые исходники приводили к дрожи в руках и к лихорадочному скачиванию. Это было в 90-х годах, когда исходников было мало. Сейчас я понял, что обладание чьими-то исходниками - по большей части самообман. Как правило, за скачиванием исходников ничего не следует. Ты просто обладаешь ими, а через несколько лет удаляешь с прочим устаревшим хламом. Их нет смысла скачивать даже с целью изучения, т.к. проще написать новый код с нуля, чем разобраться с чужим, а теоретические аспекты сейчас освещены со всех сторон - читай, изучай.
Исходники реально требуются только в трёх случаях.
1. Они представляют собой некий каркас или библиотеки, которые в дальнейшем надлежит использовать другим программистам. Например, какой-то тьюториал, или заготовка.
2. Предполагается, что проще исправить ошибку (или добавить недостающую функцию) в чужом коде, чем создавать с нуля свой.
3. Что-то недокументировано, узнать, как сделать самому, невозможно, а сделать надо. Тода единственный способ - заглянуть в чужой код.
В остальных случаях это обычно просто хлам.

Автор:  scuter [ 06 апр 2013, 22:16 ]
Заголовок сообщения:  Re: Miraculix OS

у меня не запускается это дело,
пишет (Memory detection...) и так и весит.

Автор:  D-S [ 06 апр 2013, 22:34 ]
Заголовок сообщения:  Re: Miraculix OS

Yoda писал(а):
Я сам прошёл через этап, когда открытые исходники приводили к дрожи в руках и к лихорадочному скачиванию. Это было в 90-х годах, когда исходников было мало. Сейчас я понял, что обладание чьими-то исходниками - по большей части самообман. Как правило, за скачиванием исходников ничего не следует. Ты просто обладаешь ими, а через несколько лет удаляешь с прочим устаревшим хламом. Их нет смысла скачивать даже с целью изучения, т.к. проще написать новый код с нуля, чем разобраться с чужим, а теоретические аспекты сейчас освещены со всех сторон - читай, изучай.


Это было метко названо "бинаризацией исходников". Объем такой большой, что продукт с открытыми исходниками по своей закрытости вплотную приближен к продукту с закрытыми исходниками. Я тоже гонялся за исходниками в интересующей области. Давно забил - обычно пытаюсь доки найти с идеями и всякие объяснялки. Да и заимствование кода - идея очень неоднозначная. Сразу возникает вопрос с лицензиями, который просто решается только с BSD, а с другими лицензиями, этого кода всё равно что просто нет. А так - и винды и многие старые UNIXы доступны в исходниках и что толку. Вычленить оттуда что-то - дело гиблое. И это в системах являющихся по факту мировыми стандартами в своей области, что там о самописных системах говорить...

Резюме - не ленитесь писать доки, только они могут привлечь внимание к продукту.

Автор:  JSON [ 07 апр 2013, 00:04 ]
Заголовок сообщения:  Re: Miraculix OS

Так код сам по себе уже документация. Просто я пользуюсь наработками. Мне интересны ньюансы в разбиванием на классы в ООП, групировка функций, стиль написания, подход ориентированный на скокрость или на компакнтность, либо на лаконичность исходников.
У каждого исходника есть то, чего нет у других. У одного обход аппаратного бага, у другого свой порядок перехода в защищенный режим, у третьего пару трюков оптимизации. Кто-то любит делать парочку примитивных и базовых функций, с помощью которых можно написать что угодно. A la машина Тьюринга. А кто-то пладит целый зоопарк интерфейсов, при этом уменьшает рутину, но увиличивает нагрузку на проект и на юзучаемость.
Мной ищется компромисс между скоростью и памятью. Интересно как оно у других.

Некоторые проекты имеют одни недостатки и одни большой плюс - их очень легко изучать как полностью, так и по кусочкам, когда надо посмотреть пример работы с флоппи или с Ethernet адаптером. Изучать с нуля, либо смотреть полотна исходного кода полноценных драйверов, где нагромождения всего и вся. А увидеть работу с того 10% функционала хочется уже сейчас.

Автор:  SII [ 07 апр 2013, 00:45 ]
Заголовок сообщения:  Re: Miraculix OS

JSON писал(а):
Так код сам по себе уже документация


Распространённое заблуждение. Код показывает, что делается, но совершенно ничего не говорит о том, зачем это делается, как именно делается (это можно понять, лишь продравшись через весь код), почему делается именно так, а не иначе...

Автор:  Yoda [ 08 апр 2013, 01:02 ]
Заголовок сообщения:  Re: Miraculix OS

JSON писал(а):
Так код сам по себе уже документация.

Код:
#include <unistd.h>

main(v,c)char**c;<%for(c++<:v]="hello, world!\n)";(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c:>+!!c,!c));**c=!c)write(!!*c,*c,!!**c);return 0;%>

Автор:  418ImATeapot [ 08 апр 2013, 13:12 ]
Заголовок сообщения:  Re: Miraculix OS

Код:
$ cat > test.c
#include <unistd.h>

main(v,c)char**c;<%for(c++<:v]="hello, world!\n)";(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c:>+!!c,!c));**c=!c)write(!!*c,*c,!!**c);return 0;%>
$ gcc test.c
test.c: In function ‘main’:
test.c:3:1: warning: missing sentinel in function call [-Wformat]
$ ./a.out
hSegmentation fault

Автор:  Yoda [ 08 апр 2013, 16:54 ]
Заголовок сообщения:  Re: Miraculix OS

Бывает :D.
За что купил, за то продал. Вот здесь куча других примеров.

Автор:  418ImATeapot [ 08 апр 2013, 19:52 ]
Заголовок сообщения:  Re: Miraculix OS

Да, OCCC - классная вещь.
Просто отметил закон бутерброда: первая попавшаяся не работает. :D

Автор:  JSON [ 10 апр 2013, 15:39 ]
Заголовок сообщения:  Re: Miraculix OS

Yoda писал(а):
JSON писал(а):
Так код сам по себе уже документация.

Код:
#include <unistd.h>

main(v,c)char**c;<%for(c++<:v]="hello, world!\n)";(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c:>+!!c,!c));**c=!c)write(!!*c,*c,!!**c);return 0;%>


>astyle.exe main.cpp

regexp:
(<%) => \{
(%>) => \}
и т.д.

пропустить через компилятор MSVC
cl.exe /E main.cpp - через препроцессор

написать препроцессор самому, чтобы include не трогал и пр. полезные вещи, а остальное разворачивал, и также исключения вроде windows.h.

Пропустив через все это, получаем на выхлопе понятную программу.
Также анализатор может исправить объявление аргументов в старом стиле Си на новый C++98.

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

Страница 4 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/