Linux开发工具----环境搭建

vim自行配置插件.

在查阅了大佬的vim配置后,我自己也使用了大佬提供的vim配置文件,结果如图:
http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
这里写图片描述
我参考https://blog.csdn.net/wooin/article/details/1858917#commentBox对自己的vim配置了不少插件,以下介绍我的收获:

1、中文帮助手册的安装
安装方法:
在下面的网站下载中文帮助的文件包:
http://vimcdoc.sf.net (English)
http://vcd.gro.clinux.org (中文)

下载的文件包应该是类似这样的: vimcdoc-1.5.0.tar.gz
解压(tar -zxvf vimcdoc-1.5.0.tar.gz)后其中有个doc文件夹, 将其中的内容全部复制到~/.vim/doc(如果没有该目录可以mkdir一个,把文档拷到家目录下,只对当前用户有效), 或者vim安装目录下的doc目录中, 此时vim中的help信息已经是中文的了.
注意:
a. 如果无法显示中文, 在~/.vimrc中增加下面这句试试:
set helplang=cn
b. 帮助文件的文本是utf-8编码的, 如果想用vim直接查看, 需要在~/.vimrc中设置:
set encoding=utf-8
这里写图片描述
看起来效果确实不错。
2、 下载安装Ctags
在这个网站: http://ctags.sourceforge.net, 下载一个类似 ctags-5.8.tar.gz 的文件下来,可使用rz命令(如果没有安装包lrzsz使用yum install lrzsz进行安装)把ctags-5.8.tar.gz传到Linux系统下,使用命令

tar -zxvf ctags-5.8.tar.gz    //解压
cd ctags-5.8                   //进入目录
./configure //执行可执行程序,自动生成Makefile文件
make       
make install          

如此就实现了ctags的安装,在一个工程的目录文件夹中使用命令

ctags -R      

将当前目录下的函数递归生成了tags文件,该目录下的.c或者.h文件使用

Ctrl ]           //可以使光标所在位置函数跳转到函数定义处

3、下载安装Tlist:https://www.vim.org/scripts/script.php?script_id=273
解压到~/.vim目录下:

进入家目录下的.vim.rc文件
加入如下设置

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1

这里写图片描述

4、文件浏览器和窗口管理器 – 插件: WinManager
https://www.vim.org/scripts/script.php?script_id=95

在 ~/.vim 目录下解压winmanager.zip

在~/.vimrc中加入

let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>

在重启动vim之后,在普通模式下,wm显示如下界面
这里写图片描述
自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.

除了gcc, 还有哪些常用的牛逼的编译器

1、Vim
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

2、Eclipse
Eclipse是一款很酷的开源代码编辑器,它拥有代码高亮和智能提示等强大的功能。在Eclipse中,完全胜任以下编程语言的工作——Python,
R, Ruby, JavaScript, Natural, Lasso, C, C++, COBOL, Scheme, Clojure,
Groovy等等,它也是Java集成开发环境,甚至提供了对Java
8的支持。在一些Web开发IDE特性的帮助下,你可以非常方便地对代码文件进行组织和访问。

3.Brackets
Brackets也是一款为Linux开发者设计的开源代码编辑器,使用Brackets写代码,你不会被任何事情所打断。比如在写HTML代码时,即便你没有保存代码也可以及时预览你的Web页面效果。你也可以使用Theseus来检查变量,Brackets默认提供一种主题,当然你也可以在扩展中心获取更多的主题。

4.Emacs
Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中。Emacs不仅可以作为文本编辑器,还可以用来收发电子邮件、通过FTP/TRAMP编辑远程档案、通过Telnet登录主机、上新闻组、登陆IRC和朋友交流、查看日历等功能

5.Light Table
LightTable是一个免费开放源代码的编辑器,该编辑器有一个非常干净的界面,并有大量扩展。它与Windows、Mac和Linux都兼容,是高度可定制的。使用Light
Table,开发者只需打开一个浏览器窗口即可实时查看更改,并且支持不同的嵌入。

6.Chocolat
Chocolat本身是Mac OS
X的最佳代码编辑器。该编辑器旨在与OS无缝集成,Chocolat为JS、Python和HTML提供拖放功能、拆分编辑、代码折叠和代码完成。

7.Sublime Text
一个紧凑但性能较高的代码编辑器一个跨平台的代码编辑器,适用于所有WordPress项目。 Sublime Text有很多功能可以提供:
·脚本编程  ·自定义界面  ·常规文件切换  ·合成和错误检测  ·多媒体选择和编辑 ·外部插件集成 ·Themes

为什么调试的时候需要编译选项中添加 -g. 调研readelf命令.

因为加了-g 生成的是带有调试信息的可执行文件,相当于debug版本的可执行程序,而没有-g生成的是一般的可执行程序,相当于release版本。
shell命令行man readelf部分解释如下:

NAME
       readelf - Displays information about ELF files.

SYNOPSIS
       readelf [-a|--all]
               [-h|--file-header]
               [-l|--program-headers|--segments]
               [-S|--section-headers|--sections]
               [-g|--section-groups]
               [-t|--section-details]
               [-e|--headers]
               [-s|--syms|--symbols]
               [--dyn-syms]
               [-n|--notes]
               [-r|--relocs]
               [-u|--unwind]
               [-d|--dynamic]
               [-V|--version-info]
               [-A|--arch-specific]
               [-D|--use-dynamic]

ELF files:Executable and Linking Format——可关联的文件格式
(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件)
这个程序和objdump提供的功能类似,但是它显示的信息更为具体,并且它不依赖BFD库(BFD库是一个GNU项目,它的目标就是希望通过一种统一的接口来处理不同的目标文件),所以即使BFD库有什么bug存在的话也不会影响到readelf程序。

三种类型的ELF文件:
1、可重定位文件:用户和其他目标文件一起创建可执行文件或者共享目标文件,例如lib*.a文件。
这里写图片描述
2、可执行文件:用于生成进程映像,载入内存执行,例如编译好的可执行文件a.out。
这里写图片描述
3、共享目标文件:用于和其他共享目标文件或者可重定位文件一起生成elf目标文件或者和执行文件一起创建进程映像,例如lib*.so文件
这里写图片描述

-a 
--all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I. 

-h 
--file-header 显示elf文件开始的文件头信息. 

更多详细信息请参考:http://man.linuxde.net/readelf

在Linux下实现进度条程序. 通过makefile进行编译. 建议自主完成一个彩色的进度条.

#include<stdio.h>
#include<unistd.h>
#include<string.h>

int main()
{
    int i=0;
    char bar[102];
    memset(bar,0,sizeof(bar));
    while(i<=100)
    {
        printf("[%-100s][%d%%]\r",bar,i);
        fflush(stdout);
        bar[i++]='#';
        usleep(10000);
    }

    printf("\n");
    return 0;

}

这里写图片描述

调研Linux下软件安装的几种方式(源码安装, rpm安装, yum安装). 重点要理解rpm安装和yum安装的区别.

1、源码安装:一般以.tar结尾,例如
下载安装Ctags
在这个网站: http://ctags.sourceforge.net, 下载一个类似 ctags-5.8.tar.gz 的文件下来,可使用rz命令(如果没有安装包lrzsz使用yum install lrzsz进行安装)把ctags-5.8.tar.gz传到Linux系统下,使用命令

tar -zxvf ctags-5.8.tar.gz    //解压
cd ctags-5.8                   //进入目录
./configure //执行可执行程序,自动生成Makefile文件
make       
make install

即可实现自动安装。
2、rpm安装

rpm -ivh your-package.rpm

卸载:

rpm -e your-package

关于rpm还可参阅:http://man.linuxde.net/rpm
3、yum安装
CentOS 默认已经安装了yum,不需要另外安装。
这里写图片描述
三种方式都可查看有关软件yum的信息。
这里重点介绍yum的使用方式:以安装g++ 为例

su root    

切换到root用户需要输入密码,密码是不可见的,输入完密码,按enter键即可。

yum install gcc-c++  //是gcc-c++ ,实现并完成了g++的安装。

卸载:

yum remove gcc-c++

有关yum:http://man.linuxde.net/yum
关于Linux系统软件安装还可参阅
https://blog.csdn.net/u010509774/article/details/50593231

猜你喜欢

转载自blog.csdn.net/Vickers_xiaowei/article/details/82317286