Cscope

Z Wikipedie, otevřené encyklopedie
cscope
Aktuální verze15.8a (4. srpna 2012)
Operační systémUnix, Linux
Vyvíjeno vC
Typ softwarunástroj pro programování pro jazyky C, C++ a Javu
LicenceBSD licence
Webhttp://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

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í

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

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

Reference

V tomto článku byl použit překlad textu z článku Cscope na anglické Wikipedii.

  1. The History of Cscope
  2. ncc – The new generation C compiler
  3. CodeViz: CallGraph Visualiser. www.skynet.ie [online]. [cit. 17-02-2015]. Dostupné v archivu pořízeném dne 26-01-2007. 
  4. Domovská stránka CScope: "Fuzzy parser podporuje C, ale je dostatečně flexibilní, aby byl užitečný i pro C++ a Javu[...]"
  5. Domovská stránka Kscope
  6. Domovská stránka Seascope
  7. http://www.vim.org/scripts/script.php?script_id=2368

Související články

Externí odkazy