Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Собственный диспетчер памяти для С/С++ 
:(
    Опции темы
sprata
Дата 14.9.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 6.9.2008

Репутация: нет
Всего: нет



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

Диспетчер памяти понадобился не просто так, а по причине того, что ф-ии getimage() и putimage(), описанные в graphics.h, могут работать с экранной областью, размер которой <= 64K. И разрешение такой экранной области в режиме VGAHI приблизительно 350*350 пикселей, что довольно мало, для среднестатистического окна smile, перемещение которого планируется реализовать в GUI.

Заранее спасибо !

Это сообщение отредактировал(а) sprata - 14.9.2008, 18:16
PM MAIL   Вверх
Lazin
Дата 14.9.2008, 18:37 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



а зачем вам это, и при чем тут GUI?
PM MAIL Skype GTalk   Вверх
nerezus
Дата 14.9.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



sprata, ты хочешь сделать GUI под DOS?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
sprata
Дата 14.9.2008, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 6.9.2008

Репутация: нет
Всего: нет



Цитата(Lazin @  14.9.2008,  18:37 Найти цитируемый пост)
а зачем вам это, и при чем тут GUI?

Цитата(nerezus @  14.9.2008,  18:38 Найти цитируемый пост)
sprata, ты хочешь сделать GUI под DOS?

Графический интерфейс под ДОС это часть моего курсового по ООП. При этом нужно использовать старенький компилятор Borland C++ 3.11 smile А зачем мне диспетчер памяти я уже написал: для реализации перетаскивания окон с помощью мыши, я хочу использовать ф-ии getimage() и putimage(), но они могут работать только с изображением, размер которого не превышает 65535 байт = 64K. А нормально окно, с разрешением хотя бы 500*500 весит намного больше. К тому же я использую режим SVGA 256 1024*768, поэтому размеры картинок далеко превышают 64K. Мой преподаватель по программированию сказал, что из этой ситуации можно выйти написав свой диспетчер памяти, и таким образом обойти это ограничение.


Это сообщение отредактировал(а) sprata - 14.9.2008, 18:56
PM MAIL   Вверх
Lazin
Дата 14.9.2008, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(sprata @  14.9.2008,  18:52 Найти цитируемый пост)
Мой преподаватель по программированию сказал, что из этой ситуации можно выйти написав свой диспетчер памяти, и таким образом обойти это ограничение.

сильно в этом сомневаюсь, вообще, что за польза учить студентов программировать под дос?
PM MAIL Skype GTalk   Вверх
sprata
Дата 14.9.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 6.9.2008

Репутация: нет
Всего: нет



Цитата(Lazin @  14.9.2008,  19:45 Найти цитируемый пост)
сильно в этом сомневаюсь

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

Цитата(Lazin @  14.9.2008,  19:45 Найти цитируемый пост)
что за польза учить студентов программировать под дос?

Lazin, это конечно оффтоп, но я все таки скажу:  цель этого курсового написать весь графический интерфейс ручками smile А людей, которые накидывают нексолько компонентов на форму, и называют себя после этого программистами, я таковыми не считаю.

ЗЫ: а вообще по теме кто-нибудь мне ответит ? smile

ЗЫЫ: дискуссию по поводу программирования под ДОС, в этой теме прошу не начинать.

Это сообщение отредактировал(а) sprata - 14.9.2008, 19:58
PM MAIL   Вверх
Rpahut
Дата 14.9.2008, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 2
Всего: 7



Цитата

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

Так вы никогда помощи не получите smile  smile 

Если по теме - я б кусками по 64к картинку хранил =) 
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
nerezus
Дата 14.9.2008, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

сильно в этом сомневаюсь, вообще, что за польза учить студентов программировать под дос?
 +1. Ну и научится человек под мертвую систему программировать. А какая с этого польза?

Цитата

Lazin, это конечно оффтоп, но я все таки скажу:  цель этого курсового написать весь графический интерфейс ручками  А людей, которые накидывают нексолько компонентов на форму, и называют себя после этого программистами, я таковыми не считаю.
 Что мешает делать это под windows?

Цитата

А людей, которые накидывают нексолько компонентов на форму, и называют себя после этого программистами, я таковыми не считаю.
 Порограммист должен использовать самый простой из доступных равносильных вариантов. Если текущие "кнопачки" ему подходят - то он ими и воспользуется.
А писать нужно, только если нет вменяемых аналогов, вас искусственно поставили в подобное положение.
С точки зрения идеи - это умно, но с точки зрения реализации полный пипец...
Ну глупо использовать мертвую ОС, неполноценный компилятор и скудные API. Куда красивее было бы задание сделать подобное... ну например в OpenGL

Кстати сам такое делал я на J2ME. Не было вариантов.


Цитата

 а вообще по теме кто-нибудь мне ответит?
 Я отвечу.
1) Использовать менеджер памяти DOS/4GW, справку ищи тут: http://www.tenberry.com/dos4g/faq/index.html
2) Усомниться в преподавателе, который учит пользоваться мертвыми технологиями.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
woof
Дата 14.9.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 5.4.2007

Репутация: нет
Всего: нет



Цитата

+1. Ну и научится человек под мертвую систему программировать. А какая с этого польза?

мне препод говорит, типа это для начала научитесь писать под дос
с ассемблером такая же байда
PM MAIL   Вверх
nerezus
  Дата 14.9.2008, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

мне препод говорит, типа это для начала научитесь писать под дос
 Как он это аргументировал?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Alek86
Дата 14.9.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



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

имхо, конечно smile

а по теме автору уже ответили


--------------------
user posted image    user posted image
PM MAIL   Вверх
sprata
Дата 14.9.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 6.9.2008

Репутация: нет
Всего: нет



Цитата(Rpahut @  14.9.2008,  20:08 Найти цитируемый пост)
Так вы никогда помощи не получите 

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

Цитата(nerezus @  14.9.2008,  20:08 Найти цитируемый пост)
2) Усомниться в преподавателе, который учит пользоваться мертвыми технологиями.

Ну вообще то существует программа обучения по каждой специальности, которую разрабатывает не один преподаватель. Сейчас во многих технических ВУЗах Украины начинают изучение программирования со среды под ДОС. У нас это был Си. У кого-то Паскаль. 

nerezus, большое спасибо за ссылку smile

Это сообщение отредактировал(а) sprata - 14.9.2008, 21:09
PM MAIL   Вверх
nerezus
Дата 14.9.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

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

Добавлено через 8 минут и 3 секунды
Цитата

Ну вообще то существует программа обучения по каждой специальности, которую разрабатывает не один преподаватель. Сейчас во многих технических ВУЗах Украины начинают изучение программирования со среды под ДОС. У нас это был Си. У кого-то Паскаль. 
 У нас был C. Но никаких извращений с графикой мы не писали.

А на уроках ООП изучали Qt(а наша группа MFC).
Уж куда полезнее, поверь. По крайней мере применяемо на практике.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
sprata
Дата 14.9.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 6.9.2008

Репутация: нет
Всего: нет



Цитата(Rpahut @  14.9.2008,  20:08 Найти цитируемый пост)
Если по теме - я б кусками по 64к картинку хранил =) 

Да, я тож сразу об этом думал. Но реализовав, увидел что фрагменты появляются слишком медленно друг за другом. Поэтому и решил спросить по поводу диспетчера памяти.
PM MAIL   Вверх
Rpahut
Дата 14.9.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 2
Всего: 7



А вы думаете если они вместе будут сохранены, сильно быстрее будет рисоваться? Попробуйте как в винде - при перетаскивании отображать только рамку окна, расчитать какие части других окон были скрыты а теперь видны, потребовать у окон перерисовать эти части. Потом уже отрисовать перетащеное окно полностью на новом месте.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0953 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.