Форум программистов, компьютерный форум, киберфорум
Программирование драйверов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/198: Рейтинг темы: голосов - 198, средняя оценка - 4.62
 Аватар для polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270

На каком языке пишут драйвера?

02.08.2010, 20:39. Показов 42224. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я знаком с языками программирования turbo pascal,c++ (GCC) (если честно то только начал). на каком языке пишутся драйвера? не думаю что на одном из этих. Может на ассамблере? И как они пишутся? ссылки приветствуются.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.08.2010, 20:39
Ответы с готовыми решениями:

На каком языке нужно писать драйвера?
У меня проблема.Старый принтер и сканер не работают с 8 и 10.Хочу сам написать для них драйвера.Какой язык программирования мне лучше...

На каком именно ассемблере пишут драйверы?
Всем доброго времени суток! Изучал с горем пополам ассемблер. В Linux, компилятор был nasm. Узнал много нового интересного, например я...

На каком языке пишут программы под линукс
На каком языке пишут программы под линукс и в какой среде?

32
 Аватар для polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
04.08.2010, 01:24  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Evg Посмотреть сообщение
Black Fregat, это всё-таки кастрированный Си++, которому больше подходит название "C with classes"
стоп так c with classes разве не является с++? на сколько я знаю(читал) знак "инкримента" и обозначает возможность ООП.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
04.08.2010, 01:47
Вот мнение Microsoft: C++ for Kernel Mode Drivers: Pros and Cons
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
04.08.2010, 11:59
Black Fregat, я слабо себе представляю, как вообще устроен принцип работы драйверов под виндами, а потому, как уже говорил, сужу с линуксовой колокольни. Но при написании драйверов, как мне видится, объектно-ориентированный подход не особенно нужен. Хотя Си++ как язык, скорее всего, будет удобнее тем, что в нём есть inline функции или inline методы. Для Си всё это реализуется через макросы, но получается менее удобно (т.е. больше возможности ошибиться и не заметить). Так что к ответу на изначальный вопрос действительно можно добавить "Си++ в ограниченном виде"

polimorf96, "c with classes" это некий условный кастрированный вариант Си++ (а точнее Си++ это более развитый "c with classes"), в котором нет высокоуровневых конструкций, требующих поддержки окружения (new, exceptions и т.п.). Это важное требование, гарантирующее, что в процессе работы компилятор не превратит конструкцию языка в вызов функции, требующей системной библиотеки. Потому как на уровне ядра никаких систменых библиотек нет
0
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
03.05.2020, 13:04
Цитата Сообщение от Evg Посмотреть сообщение
Я драйверов не писал, тем более под винду
а какова необходимость писать драйвера под линукс, учитывая что там все аппаратные устройства
являются простыми файлами на диске?
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
03.05.2020, 13:33
proc3nt, Вы путаете причину и следствие. Устройство - это набор портов ввода-вывода, области памяти, прерывания и прочие аппаратные штуки. А файлом его делает как раз драйвер
0
1 / 1 / 0
Регистрация: 17.04.2018
Сообщений: 236
24.09.2020, 08:05
Цитата Сообщение от Black Fregat Посмотреть сообщение
Си++ как таковой не подойдёт, потому как многие конструкции языка являются высокоуровневыми (new, exception, конструкторы статических объектов), а потому могут работать только под управлением ОС (а нам нужен код, который бы работал внутри ОС)
Подскажите, пожалуйста, в идеале лучше всего драйвера на ассемблере писать или здесь могут быть какие-то недостатки?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
24.09.2020, 08:54
Ivanjs, если у тебя скорость написания на ассемблере == скорости написания на С или С++ и ты знаешь как оптимизировать все вручную, то нет никаких недостатков. Пиши.
1
1 / 1 / 0
Регистрация: 17.04.2018
Сообщений: 236
24.09.2020, 09:10
Цитата Сообщение от Vourhey Посмотреть сообщение
оптимизировать все вручную
Вы имеете ввиду скорость написания кода?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
24.09.2020, 10:31
Нет, его оптимизацию.
1
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
24.09.2020, 21:20
Цитата Сообщение от Ivanjs Посмотреть сообщение
в идеале лучше всего драйвера на ассемблере писать или здесь могут быть какие-то недостатки?
Главный недостаток использования ассемблера - неочевидность оптимального кода.
Были реальные случаи, когда я смотрел на код, сделанный оптимизатором, и думал - да зачем же здесь такие извраты.
А при детальном разборе - по тактам процессора с учётом конвейеров и парабельности команд - выходило, что мой красивый код - хуже этого изврата
2
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
24.09.2020, 23:16
И дополнительная работа по портированию драйвера для разных архитектур процессоров.
Для linux десяток актуальных архитектур.
Для windows их почти 4 (2x2).
0
1 / 0 / 0
Регистрация: 02.07.2022
Сообщений: 75
05.06.2023, 07:45
Лучше всего подходит ассемблер. Он достаточно низкоуровневый язык, на нем и ОС написать можно, и драйвера, и свой язык.
0
05.06.2023, 08:07

Не по теме:

mspaint, свой язык можно на своём языке и написать.
А потом на нём же написать и ассемблеры, если они нужны.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2023, 08:07

На каком языке пишут браузерные онлайн игры?
С помощью каких технологий? То, что один человек не может написать такую игру, это я понимаю. Нужна команда. Программисты, дизайнер,...

На каком языке\движке пишут Коллекционные карточные игры?
Коллекционная карточная игра КАК ТО: Magic: The Gathering, Warhammer 40,000, Hearthstone, Берсерк Возможно ли использовать Unity...

На каком языке пишут ботов для онлайн игр?
Хотелось бы попробовать...

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

На каком движке или платформе пишут простые 2д и 3д игры ?
На каком движке или платформе пишут простые 2д и 3д игры ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru