首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏悟空被FFmpeg玩

    vim+cscope+ctags源码安装

    首先安装cscope [root@cutbag sys]#tar jxvf cscope-15.7a.tar.bz2[root@cutbag sys]#cd cscope-15.7a[root@cutbag /configure --enable-cscope --prefix=/usr[root@cutbag sys]#make&&make install 然后安装ctags  [root@cutbag -name "*.c" -o -name "*.h" -o -name "*.cpp" > cscope.filescscope -Rbkq -i cscope.filesctags -R Written

    1.6K20发布于 2019-03-05
  • 来自专栏Linux问题笔记

    vim+cscope看源码配置

    /cscope.filescscope -Rbkq即可。 If it wasn't, time to recompile vim... if has("cscope") """"""""""""" Standard cscope/vim boilerplate " use both cscope and ctag for 'ctrl-]', ':ta', and 'vim -t' set cscopetag " check cscope for ("cscope.out") cs add cscope.out " else add the database pointed to by environment variable elseif $CSCOPE_DB !

    94940编辑于 2022-10-31
  • 来自专栏悟空被FFmpeg玩

    使用Kernel的Makefile生成tags和cscope看代码更方便

    modules_prepare - Set up for building external modules tags/TAGS - Generate tags file for editors cscope - Generate cscope index gtags - Generate GNU GLOBAL index kernelrelease - Output /README file [root@btg ext4]# [root@btg ext4]# make tags cscope GEN tags GEN cscope [root@btg ext4]# 我自己生成的cscope和tags打开的内容 Cscope tag: start_kernel    # 行 文件名 / 上下文 / 行    1

    1.9K10发布于 2019-03-05
  • 来自专栏CDN及云技术分享

    日更系列:阅读c++代码使用工具vim+cscope

    首先我们需要先按照cscope工具,苹果OSX系统使用brew install cscope安装,ubuntu系统使用apt get install scope,centos系统使用yum install cscope。 接着我们进入到c++工程目录,执行cscope -b -c -R, 这时候cscope会去解析符号以及他们之前的联系,会生成一个cscope.out代码符号文件。 /cscope.out加载工程项目符号索引数据库。 但是注意有几个事情cscope不能实现。 cscope生成的cscope.out数据库是包含当前目录的所有符号,他不能限定查找范围为某个子目录,这个像vscode之类的IDE是有这个功能。

    1.9K310编辑于 2022-04-05
  • 来自专栏全栈程序员必看

    vim配置总结[通俗易懂]

    /*cscope从cscop.files读入文件然后建立链接*/ cscope -bkq -i cscope.files ctags -R 这个脚本执行完会在当前文件夹生成几个cscope. "" " cscope 自动加载cscope.out文件 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" if has("cscope cscope.out elsewhere else let cscope_file=findfile("cscope.out",".;") let cscope_pre ") cs add cscope.out "else search cscope.out elsewhere else let cscope_file =findfile("cscope.out",".;") let cscope_pre=matchstr(cscope_file,".*/") if !

    2.1K30编辑于 2022-08-31
  • 来自专栏TopSemic嵌入式

    嵌入式Linux系列第19篇:如何高效的阅读Linux源码

    Ctrl + + 为增大字体 2.4 cscope 2.4.1 cscope安装配置 先看下ctags和cscope的区别: ctags can be used to take you to the definition 安装方式如下: sudo apt-get install cscope 验证是否安装成功的方式可以输入 cscope --version ? 表示安装成功 2.4.2 cscope使用 第1步:使用 cscope 生成数据库文件 cscope -Rbkq 其中参数的含义: -R 递归,对子目录也建立数据库 -b 只生成数据库,不进入 scope 界面 -k 生成数据库时,不搜索 /usr/include 目录 -q 生成 cscope.in.out 和 cscope.po.out 文件,加快查找速度 ? /cscope.out 第3步: 通用格式为 :cs find -option label option 可以有很多种模式,在 Vim 中使用 :help cscope-find 来查看 option:

    2.3K40发布于 2021-05-31
  • 来自专栏全栈程序员必看

    LDD 知识整理

    知道了一个网站 http://kernelnewbies.org,一些FAQ , 摘录如下 (1) Code Browsing a) cscope,tags 原来内核中有生成 cscope和tags 的脚本 make cscope make tags 给make加上V=1,可以看到哪些命令被执行。 $ make cscope V=1 /bin/bash linux-2.6.32.63/scripts/tags.sh cscope ..... + cscope -b -f cscope.out

    76820编辑于 2022-06-28
  • 来自专栏有价值炮灰

    使用 VIM 进行代码审计

    对于语言支持,目前选用的是 ctags 和 cscope 卧龙凤雏两兄弟。尽管年代久远,但实际效果还是不错的,许多商业工具实际上也是在此基础上进行优化。 - 查找代码定义,符号; ripgrep - Rust 实现的 grep 搜索; fzf - 模糊搜索; 构建索引 通常使用 ctags 和 cscope 构建索引的过程如下: cd src ctags -name "*.c" -o -name "*.cpp" -o -name "*.h" > cscope.files cscope -b -q -k 不过这会在源码目录生成 .tags 和 cscope.out 由于数据库保存到非标准的位置,那么就需要在 VIM Script 中指定对应的 cscope 和 ctags 路径,顺便也就定义一些快捷键了。 这么一来二去,也就有了这个项目:audit.vim。 同时 open 会以 READ-ONLY 模式打开 VIM 并设置好对应的 ctags 和 cscope 路径。目前为了防止审计超大型代码时候引入过多的无效文件,使用的是文件后缀白名单模式。

    42510编辑于 2024-04-28
  • 来自专栏悟空被FFmpeg玩

    LPI学习笔记----1

    3696 pts/1 T 14:02 0:00 vim fs/ext2/super.c root 17460 0.0 0.0 3932 1776 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out root 17471 0.0 0.1 14424 3404 pts/1 T 14:02 0:00 vim fs/ext2/inode.c root 17472 0.0 0.0 3932 1808 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out root 19174 3.0 0.0 6416 1016 pts/  -dl -f cscope.out root 17471 0.0 0.1 14424 3404 pts/1 T 14:02 0:00 vim fs/ext2/inode.c root 17472 0.0 0.0 3932 1808 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out 使用如下命令 [root@btg P5906]# kill 

    1.3K30发布于 2019-03-05
  • 来自专栏独行猫a的沉淀积累总结

    为什么要选择Vim编辑器

    对于vim+Taglist+cscope+ctags组合编辑器的创建,vim , cscope , ctags安装起来比较方便使用上述命令即可安装! 设置"""""""""""""""""" set cscopequickfix=s-,c-,d-,i-,t-,e- if has("cscope") set csprg=/usr/bin/cscope 5、cscope插件的使用 [4]Cscope是一个类似 ctags的工具。 你可以把它想作是超过频的 ctags,因为它功能比ctags 强大很多。 在VIM中使用cscope非常简单,首先调用“cscope add”命令添加一个cscope数据库,然后就可以调用“cscope find”命令进行查找了。 要使用cscope查找就必须加载cscope.out文件.在vim命令行下执行:(按照上述方法配置好的vimrc中有这一步) :cs add cscope.out 在vim命令行下执行: :cs

    1.8K30发布于 2020-08-04
  • 来自专栏独行猫a的沉淀积累总结

    vim配置IDE,下载压缩包即拥有轻巧且强大的文本编辑器

    集成了ctag和cscope等工具,支持函数跳转。 先来截个图: 新手之所以感觉vim不方便,一是需要入门学习,另一点就是想要个好用强大点儿的配置,需要自己安装配置各种插件。 (支持函数跳转有个前提条件:首次在项目的根目录位置使用vim打开文件后,需要执行一个:SrcInit()函数,然后按回车键,这样会自动触发ctag和cscope命令行工具工作。) if has("cscope") set csprg=cscope csto=0 cst nocsverb if filereadable("cscope.out") " add any database in current directory cs add cscope.out elseif $CSCOPE_DB ! -Rb -v" " let cmd = "cscope -Rb -v -s " " let cmd = cmd . a:path."

    1.2K30编辑于 2022-04-13
  • 来自专栏编程珠玑

    vim开发环境配置

    当然你也可以通过apt-get的方式安装插件,例如 sudo apt-get install cscope sudo apt-get install ctags 但是这样的安装方式是不在vundle的管理范围的 在右侧窗口中显示taglist窗口 let Tlist_Use_Left_Windo =1 "在左侧窗口中显示taglist窗口 let Tlist_Auto_Open=1 cscope 基本配置 if has("cscope") set csprg=/usr/bin/cscope set csto=1 set cst set nocsverb " add any database in current directory if filereadable("cscope.out") cs add cscope.out endif set csverb endif 图的左上方是树形目录,中间是文件函数,宏等内容,右边是源文件,最下方则是通过cscope查找找的函数调用结果。

    2.3K30发布于 2019-09-03
  • 来自专栏Linux内核及编程语言底层相关技术研究

    为linux内核源码生成tags文件

    tags文件种类有很多,比如 ctags、etags、cscope、gtags 等,有关他们的区别可以参考下面链接里的内容: https://github.com/oracle/opengrok/wiki Makefile里已经帮我们写好了如何生成各种tags,看下面的命令: $ make help # 省略其他 tags/TAGS - Generate tags file for editors cscope - Generate cscope index gtags - Generate GNU GLOBAL index # 省略其他 由上可以看到,我们只要执行对应的make quiet_cmd_tags = GEN $@ cmd_tags = $(BASH) $(srctree)/scripts/tags.sh $@ tags TAGS cscope 粗略看下该脚本里的内容: case "$1" in "cscope") docscope ;; "gtags

    5K20发布于 2019-11-19
  • 来自专栏程序人生

    黑客马拉松

    人在紧急情况下会产生「急智」,就好像突然开窍一般,我突然想到了用cscope生成的索引文件cscope.out。 非c/c++,或者非unix平台下工作的程序员可能不知道cscope —— 其实只要你使用IDE,IDE就会生成代码库的索引,跟cscope原理基本一样。 退而求其次,我只好求助于cscope命令本身。 使用过cscope的人大多是用vim/emacs或者直接"cscope -d"使用,我想99%的人不知道cscope还能这么用: $ cscope -d -L2 <function-name> # print 使用cscope.out的另外一个好处是对代码的分析可以脱离代码本身,任何一个装有cscope的环境就可以进行分析。

    1.6K50发布于 2018-03-28
  • 来自专栏用户2442861的专栏

    一步步将vim改造成C/C++开发环境(IDE)

    13、Cscope Cscope是一个类似于ctags的工具,不过其功能比ctags强大很多。 setting -- if has("cscope") set csprg=/usr/bin/cscope " 指定用来执行cscope的命令 set cscope.out elseif $CSCOPE_DB !   cscope.out  cscope.po.out <2>、用vim打开某个源码文件,末行模式下,输入“:cs add cscope.out"(该命令已被我们映射为快捷键F4),添加cscope数据库到 因为我们已将vim配置为启动时,自动添加当前目录下的cscope数据库,所以你再添加该cscope数据库时,vim会提示“重复cscope数据库 未被加入“ <3>、完成前两步后,现在就可以用“cs

    10.1K21发布于 2018-09-20
  • 来自专栏QB杂货铺

    ubuntu14.04编译gnu global 6.6.3

    your code make[2]: *** [find.o] 错误 1 make[2]:正在离开目录 `/home/zhuangqiubin/usr/tools/global-6.6.3/gtags-cscope :正在离开目录 `/home/zhuangqiubin/usr/tools/global-6.6.3' make: *** [all] 错误 2 懒得改编译参数,直接改下源码算了 vim gtags-cscope NULL; i++) { 重新执行一次make 安装 make install 安装后可找到 ~/usr/bin/global ~/usr/bin/gtags ~/usr/bin/gtags-cscope

    1.2K20发布于 2019-12-27
  • 来自专栏全栈程序员必看

    vim常用设置—(.vimrc详细配置)[通俗易懂]

    Tlist_Exit_OnlyWindow=1” winmanager 配置map wm :WMToggle<cr>let g:winManagerWindowLayout=’FileExplorer|TagList’“cscope 配置if has(“cscope”) set csprg=/usr/bin/cscope set csto=0 set cst set nocsverb ” add any database in current directory if filereadable(“cscope.out”) cs add cscope.out ” else add database pointed to by environment elseif ” cscope 快捷键 nmap<leader>sa :csadd cscope.out<cr> nmap<leader

    4.4K10编辑于 2022-08-23
  • 来自专栏独行猫a的沉淀积累总结

    让Vim打造成强大的IDE,附_vimrc的配置和使用

    同理,打开GVIM后,需要进入 工作目录(如: E://work//myprj),则直接输入 :E E://work//myprj 使能ctag和 cscope,方便查找与跳转。 自动的会去执行ctag和cscope指令,生成相关的配置。 至于快捷键,这里不介绍了。直接查看_vimrc文件即可。想添加新功能,新快捷键,直接编辑这个文件即可。 if has("cscope") set csprg=cscope csto=0 cst nocsverb if filereadable("cscope.out") " add any database in current directory cs add cscope.out elseif $CSCOPE_DB ! -Rb -v" " let cmd = "cscope -Rb -v -s " " let cmd = cmd . a:path."

    1.6K10发布于 2020-08-04
  • 来自专栏专注数据中心高性能网络技术研发

    打造一流编辑器vimplus

    with-python-config-dir=/usr/lib/python2.7/config-i386-linux-gnu/ --enable-perlinterp --enable-gui=gtk2 --enable-cscope Vim对lua编写的插件的支持 --enable-perlinterp:启用Vim对perl编写的插件的支持 --enable-multibyte:多字节支持 可以在Vim中输入中文 --enable-cscope :Vim对cscope支持 --enable-gui=gtk2:gtk2支持,也可以使用gnome,表示生成gvim --with-python-config-dir=/usr/lib/python2.7

    2.3K50发布于 2018-03-08
  • 来自专栏独行猫a的沉淀积累总结

    常用的vim配置,_vimrc文件

    :call SvnDiff()<CR> endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " For cscope if has("cscope") set csprg=cscope csto=0 cst nocsverb if filereadable("cscope.out") " add any database in current directory cs add cscope.out elseif $CSCOPE_DB ! = "" " else add database pointed to by environment cs add $CSCOPE_DB endif set csverb endif """" ("Fail to remove " . a:filename) endif endif endfunction " Function BuildTag(): Update tags and cscope

    1.5K20发布于 2020-08-04
领券