LINUX.ORG.RU

IDE for Linux kernel?

 ,


0

3

Привет. Был кое-кем озадачен: для учебных курсов программирования в ядре линукс хотят использовать какой-либо IDE (ими был предложен QtCreator). Да, я сам, как вимщик, был ошарашен таким кощунством, но выражать своё доколе/ненужно пока не нужно.

Вопрос к _практикам_ разработки _ядра_: есть ли хоть какой-то популярный бесплатный IDE, позволяющий с полпинка автоматизировать хоть какой-то процесс, скрыть хоть одну низкоуровневую сущность из процесса написания и компилирования кода?

Всем заранее спасибо за толковые комменты с описанием личного практического опыта.

Нинужна одинодинодин!!!

поставь clang-complete для вима или плагин для kdevelop (https://github.com/Gnurou/kdev-kernel) и собери ядро, чтобы все хедеры сгенерировались

anonymous
()

Вопрос к _практикам_ разработки _ядра_: есть ли хоть какой-то популярный бесплатный IDE, позволяющий с полпинка автоматизировать хоть какой-то процесс, скрыть хоть одну низкоуровневую сущность из процесса написания и компилирования кода?

А разве IDE предназначены только для автоматизации процессов или для скрывания сущностей (что тут вообще имеется ввиду?)?

Для C и C++ qtcreator вполне хорош. Я его использую (как редактор с подсветкой, автокомплишеном и поиском по коду), правда не для ядра, но иногда для проектов на C.

Deleted
()
Ответ на: комментарий от Deleted

А разве IDE предназначены только для автоматизации процессов или для скрывания сущностей (что тут вообще имеется ввиду?)?

Ну соглашусь добавить в этот список «повышение эргономичности рабочего процесса». А так да, считаю, в вышеуказанном смысл IDE и есть. Если IDEшка даёт нам, скажем, только редактор с подсветочкой (коих тьмы), но автодополнения не даёт, а для сборки мы всё равно лезем в консоль, то смысла в этом IDE в таком случае нет.

Krieger_Od ★★
() автор топика
Ответ на: комментарий от Krieger_Od

для сборки мы всё равно лезем в консоль

А бывает иначе? Я ещё не видел IDE, где «сборка» была бы огранизована иначе, чем «запускаем команду и выдаём stdout/stderr в окошко», и при этом была бы юзабельна для проектов сложнее hello world.

Deleted
()

ну вообще достойных IDE много разных: NetBeans, KDeveloper, Eclipse CDT

полпинка автоматизировать хоть какой-то процесс

а какие процессы нуждаются в автоматизации?

novoxudonoser
()

Вопрос в тему: какая-нибудь IDE осиливает семантический анализ исходников ядра (пусть частичный) на основе clang, как здесь?

cord
()
Ответ на: комментарий от Deleted

и при этом была бы юзабельна для проектов сложнее hello world.

аналогично, поэтому я, несмотря на регулярные попытки освоить IDE, остаюсь на vim. Но вдруг тут в тему кто-нибудь скинет историю успеха и готовые конфиги конкретно по ядру.

Krieger_Od ★★
() автор топика
Ответ на: комментарий от Krieger_Od

аналогично, поэтому я, несмотря на регулярные попытки освоить IDE, остаюсь на vim

А vim с кучей плагинов - не ide?

Deleted
()
Ответ на: комментарий от peregrine

Нет, vim - текстовой редактор по определению. Пусть и толще некоторых IDE.

А emacs тогда что по определению? Кофеварка со встроенным звездолётом?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Krieger_Od, а смысл ядро в IDE разрабатывать? ИМХО ничего путного у вас не выйдет, если Торвальдс и компания пишут ядро в vim/emacs. Его для IDE ещё придётся подготавливать по файлику, ибо собрать IDE его, вероятно не смогут, файла проекта, понятного этим IDE то нет (скорее всего). Так что просто замучаетесь переносить параметры сборки ядра в IDE и настраивать вручную все параметры компиляции. Да и смысл в написании низкоуровневого кода в IDE, тут vim-а за глаза должно хватить. Но вообще вот.

peregrine ★★★★★
()
Ответ на: комментарий от Deleted

Emacs - Lisp-машина, которая умеет всё, кроме как быть текстовым редактором. ;)

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Блин, какая же каша у тебя в голове...

Торвальдс и компания пишут ядро в vim/emacs

«Торвальдс и компания» пишут ядро в чём попало. Там наверное только notepad.exe никто не использует. И то не факт.

Deleted
()
Ответ на: комментарий от Deleted

Нет, каши у меня в голове (разве что мысли плохо излагаю). Прекрасно знаю, что код ядра вообще одними патчами пишется, но IDE от этого легче не станет.

peregrine ★★★★★
()

Однажды надо было драйвер кое какой ковырять - Qt Creator прекрасно подошел для этой задачи! )))

I-Love-Microsoft ★★★★★
()

Greg Kroah-Hartman - отъявленный вимер, если что.

vim
()

В случае с ядром IDE тебе не поможет. Тут нужен ящик водки. Много ящиков водки.

anonymous
()
Ответ на: комментарий от cord

Вопрос в тему: какая-нибудь IDE осиливает семантический анализ исходников ядра (пусть частичный) на основе clang, как здесь?

Ответ немного не в тему: htags [вроде умеет еще и граф вызовов построить] и LXR, но они оба два не от сlang работают и это отдельные инструменты предназначенные только для просмотра кода.

naszar
()

Я не понял, чего ты хочешь, но для разработки драйверов Eclipse CDT очень полезен.

tailgunner ★★★★★
()
Ответ на: комментарий от peregrine

а смысл ядро в IDE разрабатывать?

Навигация по коду.

собрать IDE его, вероятно не смогут

Если ты никогда не пробовал - просто оставь свое мнение при себе.

tailgunner ★★★★★
()
Ответ на: комментарий от ebantrop

Ну а чему там не работать? Это же в основном интеграция ssh в IDE (удаленная правка исходников и удаленная же сборка).

В том же netbeans такое, помнится, из коробки.

anonymous
()

когда ковырял ядро, юзал sourcenav, да и сейчас иногда его включаю на ворох кода - оттого что в нём удобная навигация и нет лишних зависимостей.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

да, уи нормальный. ещё бы оно код понимало. :-)

anonymous
()
Ответ на: комментарий от tailgunner

А тебе не кажется, что большая часть высказываний типа «отступ должен делаться табуляцией и состять из восьми позиций» или «открывающая тело функции фигурная скобка должна находиться в первой позиции строки» определяются таки личными пристрастиями к редактору, а не реальной читаемостью таких «конструкций»?

ABW ★★★★★
()
Ответ на: комментарий от ABW

тебе не кажется, что большая часть высказываний типа «отступ должен делаться табуляцией и состять из восьми позиций» или «открывающая тело функции фигурная скобка должна находиться в первой позиции строки» определяются таки личными пристрастиями к редактору

К редактору? Нет, не кажется. Они определяются личными пристрастиями к читабельности. Впрочем, это не имеет отношения к IDE.

tailgunner ★★★★★
()

Попробуй в CLion проект создай, напиши потом CMake-файл, который make menuconfig / make bzImage / make modules / etc вызывает. Ну, или sublime text какой, глядишь, сойдет за IDE.

anonymous
()
Ответ на: комментарий от tailgunner

А расскажи мне? Я просто не осилил делать сборку программы в эклипсе.

Исходные данные. Проект на С, использует autotools как систему сборки. Как это запилить в эклипс? И еще хотелось бы автоматом чтоб эклипс брал директории инклудов автоматом из configure

powerguy ★★★
()
Ответ на: комментарий от powerguy

Я просто не осилил делать сборку программы в эклипсе.

А что ты пробовал? За 10 секунд гуглятся пошаговые инструкции: http://thegreyblog.blogspot.com/2013/09/cc-project-built-with-gnu-build-syste... http://www.codeproject.com/Articles/597936/Howplustoplusopenplusanplusexistin...

Исходные данные. Проект на С, использует autotools как систему сборки. Как это запилить в эклипс?

Я тупо делаю configure, создаю Makefile project, запускаю сборку и перестраиваю индекс. Но по разным причинам я не использую плагин autotools.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от EXL

Во-первых, как раз таки парсер в IDE от JetBrains лучше говна в Xcode/Eclipse/VisualStudio, которые ничего кроме тупого автокомплита не могут. По поводу тормозов - а фигли ты от EAP хотел, подожди, пока они релиз запилят.

anonymous
()
Ответ на: комментарий от anonymous

парсер в IDE от JetBrains лучше говна в Xcode/Eclipse/VisualStudio

В Xcode разве не парсер от LLVM? Или по сравнению с божественным CLion даже LLVM - говно?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

парсер в IDE от JetBrains лучше

Чем? Что он может распарсить такого, чего не может распарсить libclang в XCode/QtCreator?

По поводу тормозов - а фигли ты от EAP хотел, подожди, пока они релиз запилят.

Когда они запилят, оно уже никому ненужно будет. И они уже отказались от 32-битной архитектуры, ибо по памяти вылазят за пределы 4GB.

EXL ★★★★★
()

Не удивлюсь, что будут прикручивать Visual Studio еще...

А что имакс не катит?

anonymous
()
Ответ на: комментарий от tailgunner

я индекс когда строю, он у меня не может разрешить в индексах rest-0.7, libsoup, которые есть в configure.ac

я пробовал использовать `make V=1`, но это не решило полностью проблему.

powerguy ★★★
()
Ответ на: комментарий от tailgunner

тот же самый проект. заимпортировал его как makefile existing project. выбрал gnu autotools toolchain. поставил команду сборки `make V=1`, как нагуглил в инете. http://simonpena.com/blog/tech/eclipse-cdt-indexer-with-autotools/

Часть ошибок вроде Could not resolve symbol пропала в коде, напр. всё, что относится к glib-2.0. Часть Could not resolve symbol осталась, напр. RestProxy, SoupSession, SoupMessage.

В этом файле на C, в котором я смотрю - есть

#include <rest/rest-proxy.h>
#include <libsoup/soup.h>
http://storage5.static.itmages.com/i/14/1117/h_1416204258_3081296_02f2c33fef.png

http://storage7.static.itmages.com/i/14/1117/h_1416204290_9346490_b0c83dec5b.png

Видимо он что-то не проиндексировал. Если в настройках проекта указать путь к include dirs - /usr/include/rest-0.7, /usr/include/libsoup, то всё снова работает. Но мне хотелось бы, чтоб он автоматом это подтягивал.

P.S. проект собирается из eclipse нормально.

powerguy ★★★
()
Ответ на: комментарий от powerguy

поставил команду сборки `make V=1`, как нагуглил в инете. http://simonpena.com/blog/tech/eclipse-cdt-indexer-with-autotools/

Что выводится в эклипсовской консоли?

Но мне хотелось бы, чтоб он автоматом это подтягивал.

Попробуй такой трюк: сделай Clean project, после этого - Build project и Rebuild index.

tailgunner ★★★★★
()
Ответ на: комментарий от powerguy

а вообще можешь сам попробовать у себя, проек-то открытый.

У него зависимости, которых нет в Wheezy.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.