Seth Arnold wrote:
I think a short introduction on using ctags would be very good. 8)Most popular is a tool to quickly find uses, definitions, and declarations, of C symbols. grep(1) is almost always available, and the more powerful version, egrep(1), is very useful to know. But grep(1) requires searching every file on every lookup. Tools such as <a href="http://cscope.sourceforge.net/">cscope</a>, <a href="http://freescope.sourceforge.net/">freescope</a>, <a href="http://www.delorie.com/gnu/docs/emacs/etags.1.html">etags</a>, <a href="http://ctags.sourceforge.net/">ctags</a>, and <a href="http://www.gnu.org/directory/text/editors/idutils.html">idutils</a> build databases to use when searching for C symbols. Each has their own idiosyncrasies and features. Some integrate better with your text editor of choice. (Look especially for plugins to help with integration.)
For example, you don't have to tag every one of the files in the kernel tree. If you want to learn the main kernel architecture, you could just tag kernel/ mm/ etc. and no need for tagging every single net card driver and every process architecture which you will never understand. And this usually saves BIG time for the generation of the TAGS file. A convenient line in the main Makefile would be ideal. 8)
Yes, the above is trivial knowledge, but as a kernel newbie as me, it took me months before I understand the TAGS file could be less tiresome to generate and read in for every editor session. 8)
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/