Cscope
Aktuální verze | 15.9 (24. července 2018) |
---|---|
Operační systém | Unix, Linux |
Vyvíjeno v | C |
Typ softwaru | nástroj pro programování pro jazyky C, C++ a Javu |
Licence | BSD licence |
Web | http://cscope.sourceforge.net/ |
Některá data mohou pocházet z datové položky. |
Cscope je nástroj umožňující programátorům nebo vývojářům prohledávat zdrojové kódy v jazyce C nebo C++ (s omezenou podporou i pro jiné jazyky). Často se používá ve velmi rozsáhlých projektech pro prohledávání zdrojových kódů, vyhledávání funkcí, deklarací, definic a textových řetězců zadaných pomocí regulárních výrazů. Cscope je svobodný software dostupný pod licencí BSD. Základní program pracuje v konzolovém režimu nebo v textovém rozhraní. Původním vývojářem cscope je Joe Steffen.
Historie
[editovat | editovat zdroj]Historie cscope sahá do doby počítačů PDP-11,[1] ale je stále používán vývojáři, kteří dávají přednost textovým editorům pracujícím v textovém prostředí, jako je vi nebo vim, před editory používajícími grafické uživatelské rozhraní (GUI). Funkcionalita cscope je však dostupná v různé míře i v mnoha moderních editorech používajících GUI.
Použití
[editovat | editovat zdroj]Před používáním cscope je nutné vytvořit cscope databázi. Pro získání seznam jmen souborů, ze kterých se má vytvořit indexový soubor nazývaný cscope.files
, se často používá příkaz find
nebo jiný unixový nástroj. Pak se příkazem cscope -b -q -k
vytvoří vlastní databáze pro cscope. Volba -k
způsobí, že se nebude prohledávat adresářový podstrom /usr/include
, který obsahuje hlavičkové soubory jádra operačního systému nebo standardní knihovny libc jazyka C. Oindexované soubory pak lze prohledávat pomocí příkazu cscope -d
. Pokud dojde ke větší změně zdrojových kódů, je nutné index vytvořit znovu.
Při vývoji softwaru je velmi užitečná možnost vyhledávat, odkud se určitá funkce volá, protože tím lze zjistit, co ostatní části programu od funkce očekávají. Cscope umí najít jak místa, odkud se funkce volá, tak jaké funkce volá ona sama. Cscope ale není překladač a analýzu textu provádí hledáním klíčových slov, což může působit potíže, protože makra a duplicitní jména mohou generovat chybné výsledky. Existují jiné programy, které umí získat tyto informace syntaktickou analýzou zdrojového kódu[2] nebo čtením vygenerovaných cílových souborů.[3]
Cscope byl vytvořen pro prohledávání obsahu zdrojových kódů v jazyce C, ale může být používán (s určitými omezeními) i pro zdrojové kódy v jazyce C++ a Java.[4]
GUI
[editovat | editovat zdroj]Cscope může v prostředí KDE používat grafické uživatelské rozhraní nazývané Kscope, které navíc pro ulehčení použití integruje textový editor Kate. Projekt KScope však není od roku 2012 udržovaný.[5]
Další grafické uživatelské rozhraní využívající PyQT4 se nazývá Seascope; pro ulehčení použití integruje editor založený na editační komponentě Scintilla.[6]
CCTree je nativní zásuvný modul pro Vim, který integruje scsope do editoru Vim a nabízí funkcionalitu podobnou Kscope a Seascope.[7]
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Cscope na anglické Wikipedii.
- ↑ The History of Cscope
- ↑ ncc – The new generation C compiler
- ↑ CodeViz: CallGraph Visualiser. www.skynet.ie [online]. [cit. 17-02-2015]. Dostupné v archivu pořízeném dne 26-01-2007.
- ↑ Domovská stránka CScope: "Fuzzy parser podporuje C, ale je dostatečně flexibilní, aby byl užitečný i pro C++ a Javu[...]"
- ↑ Domovská stránka Kscope
- ↑ Domovská stránka Seascope
- ↑ http://www.vim.org/scripts/script.php?script_id=2368
Související články
[editovat | editovat zdroj]- ctags
- Křížový odkaz
- LXR Cross Referencer – nástroj pro procházení zdrojových kódů pomocí webového prohlížeče s použitím hypertextových odkazů.
- OpenGrok
Externí odkazy
[editovat | editovat zdroj]- Stránka projektu cscope na SourceForge (včetně podrobné historie)
- Nástroje pro navigaci ve zdrojových kódech