Почитал уже кое-что, но все равно остаются вопросы.
Понятно, что Kernel-программеры это суровые С-шники (даже не с++), но ведь не все из них настолько суровы, что не признают IDE? ))
Т.е. интересует интегрированная среда для кодирования и отладки, скажем, драйвера. Целевая платформа на ARM так, что нужно что-то кросс-платформенное?
Пока нашел нечто под названием LinK+, но только для x86/64.
Расскажите чайнику чем лучше кодить для Linux Kernel?
-
- Уже с Приветом
- Posts: 2414
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Расскажите чайнику чем лучше кодить для Linux Kernel?
Разница между kernel и user space тут принципиальна для понимания.
* В принципе, можно и C и C++, просто многие фичи C++ "не пойдут", и нельзя линковать драйвер со стандартной библиотекой, которая поддерживает C++. Да что там, многие функции стандартной библиотеки C не доступны в Kernel space.
* Как IDE может запускать не user mode программу, а драйвер, вот в чём вопрос. Хотя в Linux и можно устанавливать драйвер kernel без перезагрузки, но:
программа, либо устройство, которые будет присылать запросы в драйвер, это не сам драйвер. То есть, подобные вопросы должны быть разрешены как-то.
* Кросс-платформенность в kernel dev.? Более затруднительно. Оно же приближено к оборудованию, в данном случае. А у вас платформа железная другая.
В организациях, где вокруг были kernel девелоперы в количестве более одного, IDE их мало волновала. Но ничто не стоит на месте.
P.S.
Да что там, под Linux вообще, кроме джавистов, и вроде меня, с Qt, большая часть разработчиков просто не пользуется IDE.
Ловят кайф с vi vim emacs nano gedit, и командной строкой с gdb.
* В принципе, можно и C и C++, просто многие фичи C++ "не пойдут", и нельзя линковать драйвер со стандартной библиотекой, которая поддерживает C++. Да что там, многие функции стандартной библиотеки C не доступны в Kernel space.
* Как IDE может запускать не user mode программу, а драйвер, вот в чём вопрос. Хотя в Linux и можно устанавливать драйвер kernel без перезагрузки, но:
программа, либо устройство, которые будет присылать запросы в драйвер, это не сам драйвер. То есть, подобные вопросы должны быть разрешены как-то.
* Кросс-платформенность в kernel dev.? Более затруднительно. Оно же приближено к оборудованию, в данном случае. А у вас платформа железная другая.
В организациях, где вокруг были kernel девелоперы в количестве более одного, IDE их мало волновала. Но ничто не стоит на месте.
P.S.
Да что там, под Linux вообще, кроме джавистов, и вроде меня, с Qt, большая часть разработчиков просто не пользуется IDE.
Ловят кайф с vi vim emacs nano gedit, и командной строкой с gdb.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 343
- Joined: 25 Jul 2005 04:47
- Location: Десногорск-Москва-SFBA-Toronto-SFBA
Re: Расскажите чайнику чем лучше кодить для Linux Kernel?
Можно настроить Eclipse с CDT, но проще половину ядра переписать, поэтому vim наше все и printk наш лучший товарищ
-
- Уже с Приветом
- Posts: 2603
- Joined: 19 Jun 2003 20:22
- Location: USA
Re: Расскажите чайнику чем лучше кодить для Linux Kernel?
gcc ? make?Oleg-NY wrote: ↑31 Jul 2019 18:58 Почитал уже кое-что, но все равно остаются вопросы.
Понятно, что Kernel-программеры это суровые С-шники (даже не с++), но ведь не все из них настолько суровы, что не признают IDE? ))
Т.е. интересует интегрированная среда для кодирования и отладки, скажем, драйвера. Целевая платформа на ARM так, что нужно что-то кросс-платформенное?
Пока нашел нечто под названием LinK+, но только для x86/64.
-
- Уже с Приветом
- Posts: 2414
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Расскажите чайнику чем лучше кодить для Linux Kernel?
Да, я тоже пришел к такому выводу, что для Kernel кодирования IDE это - баловство... )
Ну то есть на каком-то начальном этапе можно писать код в каком-нибудь Eclipse, но без интегрированного дебагера это мало имеет смысла.
Т.е. делать, скажем, рефакторинг или просто изучать существующий код можно даже в Visual Studio, но не более.
Ну то есть на каком-то начальном этапе можно писать код в каком-нибудь Eclipse, но без интегрированного дебагера это мало имеет смысла.
Т.е. делать, скажем, рефакторинг или просто изучать существующий код можно даже в Visual Studio, но не более.