Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > аналог dos.h в linux |
Автор: v4567 18.7.2012, 22:00 |
Подскажите пожалуйста аналог, библиотеки в которой есть заголовочный файл dos.h, в linux. Необходимо работать с видеоадаптером на низком уровне, писать в видеопамять и т.д. Скорее всего в linux эта библиотека называется не так как в windows? Подскажите пожалуйста её название. |
Автор: bsa 18.7.2012, 23:06 |
эта библиотека называется libc. в ней есть open/read/write/close/ioctl. для работы с аппаратурой большего и не надо. Если для адаптера нет драйвера в ядре, то надо его написать. Добавлено через 2 минуты и 49 секунд Кстати, работать с ресурсами аппаратуры может ТОЛЬКО ядро. В *nix все известные ядру устройства, предполагающие работу с пользовательским ПО, представлены в виде файлов, которые находятся в каталоге /dev. Чтобы ядро могло работать с устройством, необходим драйвер. Если устройство относительно стандартное, то драйвер давно есть. Если самопальное, то придется писать самому. |
Автор: 500mhz 19.7.2012, 09:58 |
Эта библиотека называется svgalib (нужен рут для работы). |
Автор: v4567 19.7.2012, 18:47 | ||||||
наверное не совсем то вот есть код под дос
вот ещё
мне его надо в linux реализовать я тут поспрашивал и понял что один в один не получится сделать, в libc есть функции для записи в порт в память и прерывания, делать на низком уровне придётся через них, но один в один код на linux перенести не получится. Или я ошибаюсь? |
Автор: bsa 20.7.2012, 11:15 |
очень странно. по идее, это быть не должно. так как в отличие от DOS все современные ОС защищают доступ к аппаратным ресурсам системы от пользовательских процессов. Таким образом, даже если ты и попытаешься это сделать, то ядро твой процесс моментально прибьет с сообщением segmentation fault. Если хочешь запустить свою программу на современной ОС, тебе необходимо переписать все функции работы с видеокартой на какие-нибудь библиотечные. Думаю, тебе стоит взглянуть на библиотеку SDL. |
Автор: Kekek 21.7.2012, 13:10 |
В Юниксах работа с текстовой консолью обычно осуществляется через библиотеки ncurses или slang. Работать в графике лучше через X-Window. Причём, лучше использовать какую-нибудь высокоуровневую библиотеку, например, GTK+ или QT. Прямое обращение к портам ввода-вывода возможно только из ядра, для прикладной программы невозможно. |
Автор: ller 29.8.2012, 22:20 |
ну с правами рута можно писать в порты outb, outw, outl. Только это очень черевато |