Разработка драйвера устройства - PullRequest
0 голосов
/ 30 апреля 2011

Используется ли Objective C для каких-либо разработок драйверов устройств?сейчас я работаю разработчиком на ios. Возможно ли работать в других доменах с таким опытом

Ответы [ 3 ]

3 голосов
/ 30 апреля 2011

Поскольку вы пометили свой вопрос как , я предполагаю, что вы имеете в виду драйверы устройств для Mac OS X. В этом случае они разработаны на C ++ и используют I / O Kit. Больше информации здесь и здесь .

2 голосов
/ 30 апреля 2011

Я пришел из программирования на уровне ядра и сейчас работаю над разработкой для iphone и android .. И я скажу вам по своему опыту, что идти в обратном направлении (прикладное программирование на системный уровень) - это как восхождение на Эверест.два ..

99 процентов кодирования на системном уровне происходит в C, и для программирования ядра используется чистейшая форма C .. Отладка там очень сложная, ошибка сегментации в прикладном программировании - паника ядра (только решениеэто перезагрузка) в программировании ядра. Речь идет не о необходимости перезагрузки, но при перезагрузке мы теряем всю информацию (информацию о сбое нашего неудачного проекта), так что ее очень трудно отладить. Конечно, программирование ядра и драйвер устройстваразвитие более сложное ..

1 голос
/ 30 апреля 2011

Разработка драйверов устройств - очень специфическая область.Если вы были разработчиком приложений и хотя знаете язык программирования, который поддерживает разработку драйверов, то это не будет простым переходом к разработке драйверов, так как это будут все вместе разные концепции, API и т. Д., Которые вам нужно изучить и получить хорошийудержание, потому что, когда драйвер (режим ядра) выходит из строя, он разрушает всю систему.Я не думаю, что Objective-C используется для разработки драйверов.Эта область для C или в некоторых случаях C ++.Я провел некоторую разработку драйверов и почувствовал, что разработка приложений гораздо веселее, чем разработка драйверов, поскольку при разработке драйверов вы будете писать код, который взаимодействует с аппаратным обеспечением, и все, просто передавайте данные назад и обратно между аппаратным обеспечением и ОС, где, как при разработке приложенийВы можете делать много удивительных вещей, ваше воображение - единственный предел:)

...