|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.06.2010, 19:58 | #1 |
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
Написание драйверов на С++ реально?
Добрый вечер, товарищи-программисты!
У меня возник вот такой вопрос, который в общем смысле звучит так: "Как написать драйвер под Linux на C++?". Если более подробно обрисовать ситуацию, скажу: я программирую на плюсах (С++), ну ещё знаю Pascal и вот, в университете мне дали тему "Написание драйверов под Linux для нестандартных устройств" (датчика температуры, например). До сих пор, никогда я раньше, не занимался написанием драйверов, но вся проблема состоит в том, что как будто бы, есть книга Алессандро Рубини (Alessandro Rubini) по написанию драйверов. Но примеры даны на С (!). Хотя языки и похожи, но судя по началу книги различаются. И теперь стоит дилемма: "Что мне, С изучать что-ли?!". Или может быть есть другое исчерпывающее руководство для начинающих писать драйвера для UNIX/Linux, на С++? P. S. Прошу "гуглить" не посылать.
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
|
23.06.2010, 20:21 | #2 |
Пользователь
Регистрация: 23.03.2010
Сообщений: 43
|
Знаете, я тоже только учу С++, так что подсказать Вам не могу. Но, фраза "Что мне, С изучать, что-ли?" показалась смешной, уж извините. Как вообще можно учить С++, не изучив С? Это же основы.
Поправьте меня, если я ошибаюсь. |
23.06.2010, 20:27 | #3 | ||
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
Цитата:
Цитата:
P. S. С++ - это, по идее, тот же С, только с объектами. Возможно, Вы не поняли вопрос: подойдут ли знания в области С++ для написания программ на С, или они имеют какие-то отличия, которые как раз-таки, и проявляются на уровне написания драйверов для устройств. Так понятно?
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
Последний раз редактировалось Negent; 23.06.2010 в 20:30. |
||
23.06.2010, 20:29 | #4 | ||
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Цитата:
Последний раз редактировалось netrino; 23.06.2010 в 20:32. |
||
23.06.2010, 20:30 | #5 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 23.06.2010 в 20:33. |
|
23.06.2010, 20:38 | #6 | |
Форумчанин
Регистрация: 23.02.2010
Сообщений: 107
|
Цитата:
http://ru.wikipedia.org/wiki/Make Последний раз редактировалось Indian; 23.06.2010 в 20:44. |
|
23.06.2010, 21:22 | #7 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 27
|
Та как бы в любом случае начнете вы учить С++, то открыв книгу, там вы прочтете, почти все то, что нужно знать и для С. Я сам сильно с С не знаком, точнее с его отличиями от С++, но несколько это, что переменные должны быть объявлены в начале программы, по видимому по типу Паскаля, ну и разные способы выделения динамической память, возможно внутри они и сотрудничают, но наверно не зря же добавили новый в С++.
Сам не занимался драйверами, но частенько читал, упоминания про WDK специально созданный для этих целей. А дальше, что-то мне подсказывает(лично мне кажется), что для драйверов есть своя структура программы и свои фичи, язык то остается С\С++, но уклон все равно будет на их функции и структуры. Потому наверно не важно с чего начать, синтаксис то одинаковый. |
23.06.2010, 23:36 | #8 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
Реально же, читайте исходники, пишите модуль ядра, удачи. И таки да, если в плюсах можно от многого избавиться и общаться с битиками и байтиками посредством абстракций, то в С у вас такое получится, но с кучей костылей, а таки при написании драйвера без этого никак, и да, кто сказал что его нужно на C писать ?
И да, это Makefile :\ |
25.06.2010, 09:29 | #9 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
их можно на любом языке писать) Только надо, чтобы этот язык имел функции для работы с железом). А вообще обычно их пишут на ассемблере и си) Раз можно писать на си, то почему на с++ нет?) Расширение файла поменял с .c на .cpp и готово xD
|
25.06.2010, 13:40 | #10 |
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
Спасибо всем за ответы
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
БД без драйверов | Шульц | БД в Delphi | 5 | 20.08.2009 22:31 |
Программирование драйверов Linux | IIePeKoII | Qt и кроссплатформенное программирование С/С++ | 0 | 19.02.2009 14:13 |
порядок установки драйверов | photozaz | Компьютерное железо | 3 | 21.11.2008 16:46 |
Установка драйверов | AlexandrSid | Общие вопросы Delphi | 0 | 14.08.2008 07:43 |