LINUX.ORG.RU

с помощью какой ide вы исследуете исходники c/c++ библиотек?

 , ,


1

4

здравствуйте, надоело grep-пать исходники на поиск реализации и т.д. чем вы предпочитаете открывать исходники? ну, имеется ввиду, если у проекта система сборки cmake, то проект отлично открывается qtcreator-ом с соответствующими плюшками современных ide... другое дело, если проект старый и на autoconfig... то чем его можно открыть?

bear+cquery+yourfavoriteeditor

pon4ik ★★★★★
()

Кстати, тот же qtcreator умеет в те же аутотулзы из коробки, только плагин по умолчанию выключен.

pon4ik ★★★★★
()

другое дело, если проект старый и на autoconfig... то чем его можно открыть?

Qt Creator поддерживает Autotools (частично, так как нужен файл Makefile.am).

Исследую тоже Qt Creator'ом, но иногда не брезгую и обычным блокнотом, вроде Kate/Gedit в сочетании с grep'ом.

EXL ★★★★★
()

Я такие открываю в KDevelop, предварительно сгенерив makefile

XMs ★★★★★
()

открываю в vim по определениям перехожу gf gd, структуру файла сразу видно в tagbar через него прыгаю по функциям, структурам и прочему, очень часто просто смотреть в исходники сложно из за обилия макросов которые генерируют через макросы макросы и те уже делают структуры или функции тогда предварительно прогоняю всё через cpp и уже потом гляжу, но эт всё фигня, если просто узнать как работает тот или иной кусок нужно просто найти причастные файлы исключая общие и глазками их исследовать, если нужен весь проект то тоже самое, но маштабнее открываешь мля как книжку и листаешь фай за файлом, файл за файлом, первый проход общий что в голове отложились триггеры где что понаписано и как связано, второй раз уже видишь как устроенна модульность, а уже потом можно вникать в реализацию функций структур и прочего, когда понимаешь что откуда дёргается. Попутно рисую схему на листочке, ну просто типа граф отображающий что и как связанно, можно конечно доксигеном прогнать, но несоизмеримо лучше помнится и понимается то что накалякаешь со смайликами ручкой на бумажке чем гдядеть на автоген изображения, хотя иногда путанница такая что мама-памагити тогда доксигеном все исходники просмотри картинок и уже потом опятьже последовательный просмотр кода, но это всё только в случае что бы понять как устроенны потроха для модификации оных с гарантией что не отвалится потом что-то. Но не гани не греп, быстрее него узнать по быстрому где тебе все вхождения нужного если не не возможно то не знаю бесмысленно как то. Но думаю есть вариант, сгенерировать tags для всего проекта и как то его отобразить, получится огромный список, но! можно будет через один список прыгать вообще по всему проекту, хмммм.... надо поглядеть может тагбар может рекурсивно строить дерево тегов? Короче пока я это писал мне пришла мысль, если что отпишу.

Deleted
()

Eclipse CDT

И при чем тут autotools? Сконфигурируй его и смотри как обычный makefile project.

CDT, кстати, с автотулзами дружит.

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 2)

Eclipse CDT, CLion, NetBeans CND.

Всё никак не дойдут руки опробовать Sun/Oracle Studio.

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

Но не гани не греп

ну как-то устать можно, если постоянно грепать, видя с полсотни одинаковых кусков текста, а не жмакать f2 какой-нибудь чтоб просто определение функции увидеть

xperious ★★
() автор топика

Вкати Geany, да плагины не забудь. Да и славно будет.

Серьёзно, если не требуется привязка к определённому феймворку, это наиболее удобный и гибкий вариант.

meliafaro ★★★★★
()

Я использую vim + ycm.

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

Но не гани не греп

Лучше the-silver-searcher. Для него и vim плагинчик имеется.

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

Например, вот в этом примере реально сходить по исходникам и понять что стоит за типом Ray_intersection?

Там Clang в качестве парсера со всеми вытекающими.

Так реально или нет? :)

Тут за Eclipse CDT и CLion беспокоится нужно.

За CDT точно не нужно (не по причине какой-то особенной качественности парсера в CDT, а по причине распространенности среди вендоров).

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

Надо бы проверить, эти IDE тоже. Пока только знаю что Reshaper C++ в MSVC не осиливает нормальную навигацию по таким шаблонам.

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

Так реально или нет? :)

http://esxi.z-lab.me:666/~exl_lab/movies/qtc_clang.webm

kamre

Пока только знаю что Reshaper C++ в MSVC не осиливает нормальную навигацию по таким шаблонам.

P.S. Стандартный парсер QtCreator тоже запинается.

EXL ★★★★★
()

если проект мелкий, то грепаю, плюс Code::Blocks. Сmake умеет экспортировать в codeblocks проекты, сам Code::Blocks умеет импортировать из других проектов, но и без этого у него есть поиск по файлам в каталоге.

а если проект крупный (вроде кернела или gcc), то загоняю его в lxr и смотрю там.

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

другое дело, если проект старый

ну если тебе собирать не надо, просто запускаешь qmake -project в директории с проектом и получаешь .pro со всеми файлами.

fluorite ★★★★★
()

по умолчанию emacs. система сборки не влияет на выбор ide.

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