Мне было интересно, в реальных проектах и проектах с открытым исходным кодом они часто кодируют проект без IDE, используя собственный скрипт сборки, и они, вероятно, используют emacs или VIM, мне было интересно, как они часто проходят и ищут эти проекты для определенных функций и методы и т. д., они просто используют grep для поиска во всех файлах проекта, если они не понимают, откуда берется определенная директива или функция препроцессора? У них должен быть эффективный способ сделать весь этот поиск, кто-нибудь здесь знает? Лично использую Emacs, поэтому, если кто-нибудь может дать мне правильное направление для выполнения этих задач.
Программирование без IDE и изучение исходного кода огромного проекта на C++
Ответы (5)
Для C/C++ могу порекомендовать использовать GNU Global (gtags) + CEDET. GTags обеспечивает лучшую (ИМХО) навигацию, чем CTags, а Semantic CEDET может использовать базы данных GTag для навигации и для функций поиска, где используется. Дополнительную информацию о настройке см. в моей статье о CEDET. (статья была написана для CEDET 1.1 и предыдущих версий. Для свежих версий (и для комплекта с GNU Emacs) вы можете использовать следующее конфигурация.)
Я лично использую эту настройку для работы с большими проектами C++ (несколько миллионов строк кода).
Взгляните на cscope и ctags. И в emacs-code-browser, в вашем случае.
http://www.scitools.com/ — хороший инструмент, но не бесплатный
В случае среды, отличной от IDE, мне нравится: Source Navigator NG
Он больше для просмотра, но со своей задачей справляется хорошо.
С очень большим проектом, таким как исходный код Android, вы не можете легко использовать grep. Вместо этого я рекомендую beagrep. Это поисковая система (бигль) с поддержкой grep. Теперь я просто использую beagrep в каждом проекте, который читаю, независимо от того, большой он или маленький.
Проверьте это на исходный код grep 2G за 2 секунды.