cscope - это инструмент программирования, который работает в консольном режиме с текстовым интерфейсом, который позволяет компьютерным программистам или разработчикам программного обеспечения выполнять поиск в исходном коде языка программирования C с некоторой поддержкой C ++ и Java . Он часто используется в очень больших проектах для облегчения понимания кода для поиска исходного кода, функций, объявлений, определений и регулярных выражений в текстовой строке. cscope бесплатен и выпущен под лицензией BSD . Первоначальным разработчиком cscope является Джо Стеффен.
Стабильный выпуск | 15.9 / 24 июля 2018 г . [1] |
---|---|
Операционная система | Unix , Linux |
Тип | Программирование инструмента , для C , C ++ , Java |
Лицензия | BSD |
Веб-сайт | cscope |
История
История инструмента восходит к дням из PDP-11 , [2] , но она до сих пор используется разработчиками , которые привыкли к использованию VI или Vim редактора или другие текстовые редакторы, вместо редакторов на основе графического пользовательского интерфейсы (GUI) s. Функции cscope в разной степени доступны в современных графических редакторах исходных текстов.
Способ использования
cscope используется в два этапа. Сначала разработчик создает базу данных cscope. Разработчик часто может использовать find
или другие инструменты Unix , чтобы получить список имен файлов, необходимых для индексации в файл с именем cscope.files
. Затем разработчик создает базу данных с помощью команды cscope -b -q -k
. k
Флаг предназначен для создания базы данных для операционной системы или C исходного кода библиотеки. Он не заглянет /usr/include
. Во-вторых, разработчик теперь может искать эти файлы с помощью команды cscope -d
. Часто индекс необходимо перестраивать всякий раз, когда в файлы вносятся изменения.
При разработке программного обеспечения часто бывает очень полезно иметь возможность найти вызывающих функцию, потому что это способ понять, как работает код и что другие части программы ожидают от функции. cscope может находить вызывающих и вызываемых функций, но это не компилятор, и он делает это путем поиска в тексте ключевых слов. У этого есть недостатки, заключающиеся в том, что макросы и повторяющиеся имена символов могут создавать нечеткий график. Существуют и другие программы, которые могут извлекать эту информацию, анализируя исходный код [3] или просматривая сгенерированные объектные файлы. [4]
cscope был создан для поиска содержимого в файлах C , но его также можно использовать (с некоторыми ограничениями) для файлов C ++ и Java . [5]
Интерфейсы GUI
Для cscope доступны три интерфейса с графическим пользовательским интерфейсом (GUI), которые упрощают его использование.
- Kscope работает на KDE и интегрирует текстовый редактор Kate . Проект KScope больше не поддерживается. [6]
- Seascope работает на PyQt 4 и интегрирует текстовый редактор Scintilla . [7]
- Gscope основан на GTK2 и GTK3 и интегрируется с несколькими текстовыми редакторами. [8]
CCTree - это собственный плагин Vim, который интегрируется с редактором Vim и предлагает функции, аналогичные Kscope и Seascope. [9]
Смотрите также
- ctags
- Перекрестная ссылка (X-Ref)
- LXR Cross Referencer , просмотр исходного кода в Интернете с гиперссылками
- OpenGrok
Рекомендации
- ^ Horman, Нил (24 июля 2018). "обновить скрипт configure.in для выпуска 15.9" . Проверено 4 октября 2018 г. - через SourceForge . CS1 maint: обескураженный параметр ( ссылка )
- ^ История Cscope
- ^ ncc - компилятор C нового поколения
- ^ «CodeViz: Визуализатор CallGraph» . Архивировано из оригинала на 2007-01-26 . Проверено 7 декабря 2006 .
- ^ Домашняя страница CScope : « Нечеткий синтаксический анализатор поддерживает C, но достаточно гибок, чтобы быть полезным для C ++ и Java [...]»
- ^ Домашняя страница Kscope
- ^ Домашняя страница Seascope
- ^ Домашняя страница Gscope
- ^ http://www.vim.org/scripts/script.php?script_id=2368
Внешние ссылки
- Официальный веб-сайт
- Инструменты навигации по исходному коду