cscope
This article needs additional citations for verification. (September 2023) |
![]() | |
Stable release | 15.9
/ July 24, 2018[1] |
---|---|
Operating system | Unix, Linux, DOS |
Type | Programming tool, for C, C++, Java |
License | BSD |
Website | cscope![]() |
cscope is a programming tool which works in console mode, text-based interface, that allows computer programmers or software developers to search source code of the programming language C, with some support for C++ and Java. It is often used on very large projects to aid code comprehension to find source code, functions, declarations, definitions, and regular expression. cscope is free and released under a BSD license. The original developer of cscope is Joe Steffen.
History
Joe Steffen began writing cscope in 1980, as an aid to his programming word on a PDP-11.[2] The tool became very popular within Bell Labs, as fellow employees requested more features and improvements. The tool was later made part of the AT&T Unix distribution. It is still used by developers today, some of whom are most accustomed to using vi or other text-based editors, instead of GUI editors. The functions in cscope are available to varying degrees in modern graphical text editors.
Usage
cscope is used in two phases. First, a developer builds the cscope database of the source code. The developer can often use find
or other Unix tools to get the list of filenames needed to index into a file called cscope.files
. The developer then builds a database using the command cscope -b -q -k
. The k
flag is intended to build a database for an operating system or C library source code. It will not look in /usr/include
. Second, the developer can now search those files using the command cscope -d
. An index must be rebuilt whenever changes are made to indexed files.
cscope was created to search content within C code, but it can also be used (with some caveats) for C++ and Java code.[3]
Derived software
- KScope runs on KDE and integrates the Kate text editor. The KScope project is no longer being maintained.[4]
- Seascope runs on PyQt4 and integrates the Scintilla text editor.[5]
- Gscope is based on GTK2 and GTK3 and integrates with multiple text editors.[6]
- CCTree is a native Vim plugin that integrates with the Vim editor and offers functions similar to KScope and Seascope.[7]
- Csope is a fork with an altered TUI.[8]
See also
- ctags
- Cross-reference (X-Ref)
- LXR Cross Referencer, Web-based source code browsing with hyperlinks
- OpenGrok
References
- ^ Horman, Neil (24 July 2018). "update configure.in script for 15.9 release". Retrieved 4 October 2018 – via SourceForge.
- ^ "The History of Cscope". cscope.sourceforge.net. Retrieved 2023-09-06.
- ^ CScope home page: "The fuzzy parser supports C, but is flexible enough to be useful for C++ and Java[...]"
- ^ KScope homepage
- ^ Seascope homepage
- ^ Gscope homepage
- ^ "CCTree - C Call-Tree Explorer -- Cscope based source-code browser; code flow analyzer : Vim online".
- ^ Csope homepage