linux常用工具问答

一.自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.

1.vim

vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性。VIM是自由软件。

vim普遍被推崇为类vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 Emacs被选为Linuxworld文本编辑分类的优胜者,vim屈居第二。但在20002Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, vimEmacs在文本编辑方面都是非常优秀的。

2.Emacs

Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim

EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理查德·马修·斯托曼)1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMACTMACS,它们是由Guy SteeleDave MoonRichard GreenblattCharles Frankston等人编写的宏文本编辑器。

自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种是:1984年由Richard Stallman发起并由他维护至今的GNU Emacs,以及1991年发起的XEmacsXEmacsGNU Emacs的分支,至今仍保持着相当的兼容性。

Emac使用Emacs Lisp,这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。

3.Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development EnvironmentPDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 

这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++COBOLPHPAndroid等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 

 


二.自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).

1. Kdevelop是一个专为C/C++及其他语言的开源扩展插件IDE,它基于KDevPlatform平台,这是一款可用于IDE基础开源库。

2. Anjuta Devstudio是另外一款强大的开发工具,拥有先进的编程特性包括项目管理、应用程序向导、交互式调试器、源码编辑器、版本控制,GUI设计、分析器等等,这款工具为C/C++开发者提供强大的用户界面接口。

3. Code Blocks是一款比较流行的免费且开源的集成开发环境,该工具拥有所有功能,能够满足开发者所需,比如高效的用户界面、编译及调试功能等。 

4. Visual-MigGW是一款极为简单的开源IDE,它所有的Windows API可来进行简单快速的开发,它还支持一个随时可用的应用框架,项目托管在SourceForge.net

 5. Ideone是一款在线编辑器和调试工具,这款工具提供了强大的功能,帮助程序员以更加快速有效的方式编译源代码。

 6. Eclipse CDT提供更加高效的功能,如:支持为各种工具链提供项目创建及管理、标准构建、源码导航、各种知识工具源,代码编辑器功能如高亮显示、折叠、超链接导航、源代码重构以及代码生成,可视化调试工具,包括内存、寄存器及反汇编视图。

 7. Compiler是一款在线集成开发工具,允许你编写令人印象深刻的代码功能和简单的用户界面,该工具支持的语言如CC++JavaHTML

8. Code lite是一款极好的免费开源的IDE,几乎可运行于所有平台。

9. Netbeans工具包含多种类型模板,它拥有迷人的功能,使其在Web开发者更加流行,比如:代码协助、编译配置、单元测试、源码检测、远程开发及文件导航等功能。

10. Dev C++的功能包括:类浏览器、集成调试、支持GCC、项目管理、代码编译、编辑且编译资源文件工具管理、功能清单。
 

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

默认编译生成的可执行文件是无法使用 gdb 来跟踪或调试的,因为可执行程序中没有可供 gdb 调试使用的特殊信息,为了将必要的调试信息整合到可执行文件中,我们便需要用到 -g 选项,这样生成的可执行程序,倘若出现问题,便可以使用 gdb 找出问题具体出现的位置,便于问题的解决。

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

1.

2.写一个.c的代码

3.编写makefile

注意:gcc前不是空格,而是Tab键

 

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

rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

Yum(全称为YellowdogUpdater,Modified)是一个在FedoraRedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

猜你喜欢

转载自blog.csdn.net/oldwang1999/article/details/83868906