> man operating_systems
Переход на страницу  1 2 [3] 4 5 6 7 8 9
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
Roman I Khimov
Вторник 26.04.2005 10:59

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
Tommy написал(а) ...
Вообще мне кажеться что на этих форумах люди меньше всего отвечаю на вопросы, а базарять только - за все время написания ОС, я ниразу не оставлял вопросы на форумах, и вот возник вопрос - и что - оставил на форуме 3os - Там над каким-то парнем угарают (у него не вопрос, а глупость какая-то), на мой вопрос никто ответь не удосужился, здесь тоже самое...

Попробуй скачать старое ядро 3OS. Оно сделано на C++, но под другой компилятор (OpenWatcom), думаю, что-то сможешь уловить.

Я сейчас по нему походил маленько, похоже, что надо переопределять операторы new, в первую очередь, ну а там уже посмотреть.


Греби и улыбайся!
Наверх
Сайт
Dron
Вторник 26.04.2005 11:28


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Это да, а еще великая загадка C++ заключается в инициализации статических классов. кто-то ведь должен вызвать конструктор! проблема не в том, чтобы его вызвать, проблема в том чтобы его найти.

И пусть первый бросит в меня камень тот, кто скажет что мое ядро не объектное!!! (у меня даже виртуальные методы есть!

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

Андрей Валяев
Наверх
Сайт
Roman I Khimov
Вторник 26.04.2005 12:30

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
Да в Linux тоже объекты есть, и наследование и всякие такие штуки. Драйвера они там как-то так хитро разруливают.


Греби и улыбайся!
Наверх
Сайт
Dron
Вторник 26.04.2005 13:28


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Угу, типа объекты...
Так что C++ - чистой воды выпендреж!

объектная технология вовсе не требует объектного языка!

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

Андрей Валяев
Наверх
Сайт
Chizh
Вторник 26.04.2005 16:57
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Dron написал(а) ...
ну скорость не сильно увеличивается.. процентов на 20 в лучшем случае...


0% или меньше. Я написал сначала многозадачку на Asm, потом переписал на C++, получилось намного эффективнее. Компилятор знает намного больше способов оптимизации чем любой программист. Я уж не говорю о том сколько было отловлено ошибок за счёт нормальной типизации...

Dron написал(а) ...
зато я не думаю как втиснуть идеологию C++, как скрестить C++ и прерывания и над всякой другой абсолютно ненужной хренью я тоже не думаю.


Для этого надо писать на C++ изначально, тогда многое постепенно проясняется, по ходу дела.
Втискивать идеологию ООП не нужно, поскольку объектом является само ядро, а все прерывания/исключения являются его методами, которые достаточно оформить в виде обычных процедур, не приплетая никакие классы. C++ нужно испльзовать просто потому что это хороший и удобный компилятор, безотносительно классов и разных фич.

<span class='smallblacktext'>[ Редактирование вторник 26.04.2005 18:16 ]</span>
Наверх
Сайт
Tommy
Вторник 26.04.2005 17:11
ID пользователя #277
Зарегистрирован: Воскресенье 17.04.2005 23:05
Местонахождение: Нефтеюганск
Сообщений: 8
Ну не надо говорить, на счет инициализации статических классов я там все сразу понял - просто, я ж говорю в процессе работы программы делаються всякие вызовы в libstdc++ - в этом вся проблема ,а меня что, понимать никто не хочет. Ну даже если переписать, не учивая что их там ужасно много, то где вообще взять спецификацию.

Я кстати ядро 3os и посмотрел - гляжу: копилятор другой причем, вы программы (в случае копиляции не на OpenWatcom) g++ компилируете, который, естественно, линкует стандартные библиотеки, может я конечно не подробно посмотрел (гляну еще разок).
Наверх
Chizh
Вторник 26.04.2005 17:25
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Tommy написал(а) ...
Ну не надо говорить, на счет инициализации статических классов я там все сразу понял - просто, я ж говорю в процессе работы программы делаються всякие вызовы в libstdc++ - в этом вся проблема ,а меня что, понимать никто не хочет. Ну даже если переписать, не учивая что их там ужасно много, то где вообще взять спецификацию.
Спецификацией являются исходники Startup-а, они прилагаются к любому компилятору. Делаешь из него свою версию, выкидываешь всё лишнее и подключаешь к проекту. Дело это конечно не простое, я один раз делал собственный стартап для своей dll-ки, и поблагодарил бога за то что это сделать нужно всего один раз, больше я бы не смог
Наверх
Сайт
Tommy
Вторник 26.04.2005 17:36
ID пользователя #277
Зарегистрирован: Воскресенье 17.04.2005 23:05
Местонахождение: Нефтеюганск
Сообщений: 8
Ясно, погляну.
Alexander, а ты может ещё скажешь ведь наверняка можно обоитись без всяких там хитрых вызовов, а предположим перекомпировать gcc с другими настройками и избавиться от этих проблем.
Наверх
Chizh
Вторник 26.04.2005 17:58
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Я занимался Watcom-ом, с gcc помочь не могу. Для отключения стандартного startup-а используется опция "No default libraries", тогда не подключаются библиотеки "по умолчанию", в том числе и стартап.
Наверх
Сайт
Chizh
Вторник 26.04.2005 18:47
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
К стати после оптимизации Ассемблерного исходника на распараллеливание инструкций, он становится окончательно нечитаемым, т.к. все инстукции перемешиваются. И после каждой модификации кода надо переупорядочивать все инструкции, т.к. изменяется порядок спаривания (да и то если этот порядок угадаешь, а в 99% - не угадаешь, сколько книжки не читай). Ну и про оптимизацию под разные процессоры разных моделей тоже можно забыть. Так что Ассемблер - на свалку.


<span class='smallblacktext'>[ Редактирование вторник 26.04.2005 19:02 ]</span>
Наверх
Сайт
Переход на страницу  1 2 [3] 4 5 6 7 8 9  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.