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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа из нескольких файлов под DOS, есть необходимость создать программу 
V
    Опции темы
Kylinar
Дата 7.5.2010, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток всем!
Есть задача создать программу на плк под управлением DOS. Даже эта программа уже есть и работает. Но вот с недавних пор появилась необходимость добавить функционал, при чем таким образом, что на диске должен быть файл настроек типа *.cfg или прочий, который должен содержать имена устройств с которыми контроллер должен работать и прочие настройки. Реализация этого дела не вопрос. Но вот исходя из названий приборов записанных в данный файл программа должна подгружать соответствующие функции из другого внешнего файла типа *.dll. Вот как это дело реализовать в Turbo C 2 под DOS? Что-то нигде не могу найти, хотя думаю что эта возможность быть должна иначе уж совсем грустно... 
PM MAIL   Вверх
bsa
Дата 7.5.2010, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Kylinar, такая возможность есть. DLL под DOS называется оверлей. Если я не ошибаюсь, в компиляторах от Borland есть возможность работы с ними. Вот только я не уверен, что в версии 2.0 она была. В 3.1 есть точно.
PM   Вверх
borisbn
Дата 7.5.2010, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

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



Dll - исключительно win32 код. В дос были файлы *.ovl (оверлеи). Думаю, прийдётся переделывать программу под windows :(


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Kylinar
Дата 8.5.2010, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Блин:( Вот незадача-то... Возможности перейти на windows нет никакой. Исключительно DOS и TC2... Оверлеи значит, поищу литературу, может где и найду... Можно конечно, для каждого прибора сделать функции внутри основной программы, но ведь даже с одним уже проблемы с памятью возникают! Тут никак не пролезет данный вариант, тем более что характеристики контроллера следующие: AMD80188 40 Mhz, 256 Kb RAM, 512 Flash ROM и  2 Kb EEPROM!!!! А приборов с которыми нужно работать около 20-и. smile 
PM MAIL   Вверх
Kylinar
Дата 8.5.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Похоже совсем грустно :-(
PM MAIL   Вверх
bsa
Дата 10.5.2010, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Если алгоритмы работы с приборами не очень сложные и скоростные требования не поджимают, то напиши простейший интерпретатор скриптового языка. Поддержку приборов пиши на этом языке.
PM   Вверх
Kylinar
  Дата 10.5.2010, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



TSR программки которые будут вызываться прерыванием, а данные и команды передавать через общую структуру... Такое уже проделывал загружая TSR через autoexec а затем основную прогу, которая передавала указатель на структуру, флаги команд в резидента и прочее. Теперь только нужно сделать загрузку резидентов исходя из конфигурации. В принципе получится тоже самое, но в дос свои заморочки с загрузкой:( Не охото копошиться в "старом", надеялся что есть другой вариант...  smile 
PM MAIL   Вверх
xvr
Дата 11.5.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Делал загружаемые модули под ДОС (по сути аналог .dll). Был использован Borland C++ 3.1
Загрузка делалась функцией 0x4B03 прерывания 21h (загрузка образа exe без его запуска)

Исходники брать тут и тут

Собственно загрузка находится в файлах core.*, библиотека для создания модулей - в udk\STARTUP\*

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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