全力打造自己的Linux操作系统开发环境

2016-01-29 17:58 2 1 收藏

全力打造自己的Linux操作系统开发环境,全力打造自己的Linux操作系统开发环境

【 tulaoshi.com - Linux 】

之前只是少少的使用过vi,cscope,taglist和sourceNav,用的都不怎么熟悉。这次先了解一下目前Linux下流行的开发环境(参考 1),最后还是决定以vi为基础构造我的Linux开发环境。“VIM或EMACS做编辑器,GCC做编译器, automake做工程,doxygen做文档,cvs做管理”,这大概也是我希望的吧。另外有人提到svn,说是cvs的替代者。

安装步骤

1. 安装gcc等;

done in 《Ubuntu安装笔记》.

2. 升级vi到vim;

done in 《Ubuntu安装笔记》.

3. 安装ctags;

#sudo apt-get install ctags

4. 安装ctaglist;

http://www.vim.org/scripts/script.php?script_id=273

5. 安装cscope;

#sudo apt-get install cscope

6. 安装global;

#sudo apt-get install global

7. 安装cppcomplete

http://www.vim.org/scripts/script.php?script_id=273

工具简介(参考2)

总体使用的感觉定位查找类型定义基本可以用,但自动补全类型方面由于ctags的功能有限,感觉在大工程时,不一定很好用。

大型程序一定要global的参与,它的分析比较全面,但在vim中的提示信息有限。

taglist 精干,需要ctags的支撑 ,直接可以在左边列出函数列表,全局参数列表。(可以排序)

cscope 比较强大,可以对函数以及部分类型定义进行跳转,但有些BUG,好像在某些条件下无法正确找到分析枚举的定义。

cppcomplete 需要ctags的支撑,可以补全类型或者函数名(可不是普通Ctrl+P/N的那种)

global 新版本可以嵌入vim使用,提供比较完整解析和类型索引,和cscope比,稍微差些的就是对类型引用的打印列表中没有标识这个引用在什么函数中进行的。其实我的感觉global可能不是为vim所生,它的主要目的是用html的方式进行表达相关的关联关系和索引,使用起来感觉没有cscope的那么贴切。

VIM

VIM在本机上被安装到/usr/share/vim/vim70目录下(用$VIM代指)。可以通过修改$VIM/plugin, $HOME/.vim下的文件内容和$HOME/.vimrc来配置VIM参数。

使用gvim或者vim -g可以启动图形界面的vim。

VIM比如Ctrl-N可以实现自动补全,[I 可以查看光标所在处的函数的声明,Ctrl-]跳转到函数声明所在的文件,gd则是在当前文件跳转到局部变量的声明处。

CtagList

在VIM中用

":TlistToggle" command to open/close the taglist window.

":help taglist" command to get more information about using the taglist plugin.

Ctags

Q:如何看到标准库文件中的定义?

A: 在你的目录下建一个链接到标准库的源代码,然后

ctags -R *

vi -t printf

就可以看见了。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/linux/)

来源:http://www.tulaoshi.com/n/20160129/1503784.html

延伸阅读
    内核简介 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。     Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取相应的源程...
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: yfydz_no1@hotmail.com 来源:http://yfydz.cublog.cn 1. 前言 工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法. 以下代码的linux内核版本为2.6.19.2, 源代码文件主要为ker...
标签: 服务器
Linux/Unix操作系统目录结构的来历   Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。 举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别? 长久以来,我也感到很费...
开机自动登录Linux,并自动运行XWindow应用程序,有其特殊的应用背景,如基于Linux平台的监控系统,Linux启动后不需要身份验证,而直接运行监控程序等等。本文以Redhat7.2为平台,结合Linux启动过程,介绍了如何避免身份验证自动登录,并直接进入X Window自动运行应用程序。 一、Linux启动的最后阶段的工作 Linux在启动过程...
在网上看到不少有关linux优化方面的好文章,在此我也不赘述这些文章了,我只想从我自己的体会来谈谈这方面的问题。 作为一个系统管理员,我下面说的都是基于服务器应用的linux来谈的,由于个人电脑上使用linux也许不是像服务器上一样,优先追求安全和稳定,因此个人电脑使用的朋友只做个参考吧。 本文提及的系统,如没有特别声...

经验教程

190

收藏

27
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部