linux开发工具

本篇博客主要解决以下几个问题:
1. vim自行查找资料, 自行配置插件.
2. 自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.
3. 自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).
4. 为什么调试的时候需要编译选项中添加 -g. 同学们自行调研readelf命令.
5. 在Linux下实现进度条程序. 通过makefile进行编译. 建议自主完成一个彩色的进度条.
6. 同学们自行调研Linux下软件安装的几种方式(源码安装, rpm安装, yum安装). 重点要理解rpm安装和yum安装的区别.

问题1:vim自行查找资料, 自行配置插件.
在百度上搜索git,装好git工具
然后按照这个网页上的步骤进行配置
https://m.gitee.com/HGtz2222/EasyVimConfig/blob/master/README.md
配好后的效果如下图:
这里写图片描述
问题2:自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.

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
    问题3:自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).

  • 1.MSVC,Windows平台上最常用的编译器,在C++编译器圣战中的胜利者,一个常被人诟病的是对标准的支持不够新不够快(最近开始逐步加快了)。随着微软发布基于Clang
    / C2,这一条路以后若成功,MSVC与Clang / C2并行,甚至逐步逐步退出舞台,都是有可能的事情。

  • 2.Clang,重点介绍。licence极度友好,代码质量非常棒,采用的IR为LLVM IR非常优秀,各大公司逐步发力在Clang上,包括不限于微软,IBM,Nvidia等,各大公司也在开始疯狂的往Clang /
    LLVM交代码(圈地),也开始往Clang实现OpenMP,Nvidia
    GPU等支持,目前在赶超GCC的道路上一路激情的狂奔,前途一片光明。但是Clang依赖于的LLVM,目前的性能无法与GCC相提辩论,在Benchmark性能测试上几乎没有胜利的项目,优化的道路上任重道远,同时一些开源软件没有办法编译过去,主要是缺乏对GCC
    一些Builtin函数、自身带的汇编器的孱弱导致。

  • 3.GCC/G++,跨体系结构很多,很多开源软件默认编译器都是GCC/G++,这一点上Clang比不上。

  • 4.ICC,没有自己专门的前端(传说中的外包),而且是针对Intel体系结构上专门优化。

  • 5.IBM XL C++,在IBM特定硬件与平台上表现非常牛逼,Benchmark性能测试非常优秀,其最初的设计思想就是为了性能,其最高优化级别可以达到O5,带来的缺点则是在编译时间上往往过长。而另外一个常被人诟病的是对C++标准的支持、开源软件的支持、错误信息的提示上都不够友好,然而从13.2开始,随着IBM采用Clang融合方案,目前这几项都得到有效改良,然而融合的道路也必定是漫长的,以前的历史包袱等也需要背上。

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

  • 调试的时候需要编译选项中添加 -g. 加选项-g是为了能够调试。不加可以运行,但不能调试。

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

  1 #include<stdio.h>
  2 #include<unistd.h>
  3 #include<stdlib.h>
  4 int main()
  5 {
  6    char buf[101]={0};
  7    char *p="|/-\\";
  8    int i=0;
  9    for(i=0;i<100;i++)
 10    {
 11      buf[i]='#';
 12      printf("\r\034[42m][%-100s][%%%i][%c]\033[0m]",buf,i+1,p[i%4]);                                      
 13      fflush(stdout);
 14      usleep(100000);
 15    }
 16   printf("\n");
 17    return 0;
 18 }

截图:
这里写图片描述

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

1、源码安装:

   步骤: 编译源码,然后安装
   1.1安装准备:
   a、 首先用yum安装gcc,用于编译源码
   b、管网下载源码包
   c、winSCP windows与Linux传输文件(若直接用安装软件的linux电脑下载就不用传输了)
   1.2 安装过程
   a、解压
   b、进入解压后的目录配置文件  ./configure # 大多数情况下源码包都会带configure这样一个配置工具,具体使用方法可以vim查看其内容
   c、make #编译源码包 如果报错了 make clean 清除缓存重新make
   d、make install # 安装
   然后删除源码包软件和安装目录

2、rpm安装

rpm安装:安装别人编译好的软件包

rpm即Redhat Package Manager,Redhat的软件包管方式,适用rpm install 命令

rpm不仅已经把软件源代码编译成二进制文件,而且对软件包依赖的文件,系统环境等做了统计文件扩展名:rpm

还有一种SRPM:没有编译成二进制文件,但是也包含rpm的特性

3、yum安装

用rpm方式安装软件,如果依赖的软件没有事先安装,软件无法安装成功。

为了解决这个问题,推出yum方式。

既然依赖的软件没有安装在机器上,那么就先安装依赖文件,再安装我需要安装的软件。

因此yum在安装软件同时安装依赖文件。

因此需要一个yum源来放依赖的软件源,对比被安装机器上rpm软件库归根到底,yum也是基于rpm的。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux开发工具是用于在Linux操作系统上进行软件开发工具集合。其中包括编译器、调试器、集成开发环境(IDE)、版本控制工具等。常见的Linux开发工具有GCC、GDB、Eclipse、Git等。使用这些工具可以方便地进行代码编写、调试、测试和版本控制等工作,提高开发效率和代码质量。同时,Linux开发工具也支持多种编程语言,如C、C++、Java、Python等,满足不同开发需求。 ### 回答2: Linux开发工具是指针对Linux操作系统开发的一系列软件工具和环境,包括编程语言、集成开发环境、调试工具等,旨在帮助开发者更高效地进行软件开发。 首先,Linux开发工具提供了丰富的编程语言选择,如C、C++、Python等。这些语言具有良好的跨平台性能,可在Linux系统上进行开发,并且有着强大的功能和灵活性,能够满足不同开发需求。 其次,Linux开发工具提供了各种集成开发环境(IDE),如Eclipse、NetBeans等。这些IDE提供了代码编辑、编译、调试等功能,并且支持版本管理系统,如Git,可以方便地进行团队协作开发。此外,IDE还提供了丰富的插件和扩展,以及智能代码补全、语法高亮等功能,提升了开发效率和舒适度。 此外,Linux开发工具还包括了一些非常强大的调试工具,如GDB、Valgrind等。这些工具能够帮助开发者快速定位和解决程序中的错误和问题,并且提供了详细的运行时信息和内存调试功能,对于大型项目的开发和调试非常有帮助。 除此之外,Linux开发工具还包括了一些性能分析工具,如perf、gprof等。这些工具能够帮助开发者评估程序的性能,并提供详细的性能数据和分析报告,帮助优化程序的运行效率。 总而言之,Linux开发工具通过提供丰富的编程语言支持、集成开发环境、调试工具和性能分析工具等,可以帮助开发者更加高效地进行软件开发,提高开发效率和质量。对于Linux系统开发者来说,掌握这些工具的使用,对于提升自己的技术水平和开发能力非常重要。 ### 回答3: Linux开发工具是指在Linux操作系统上用于开发和调试软件的工具集合。这些工具可帮助开发者编写、编辑、构建、调试和测试软件,提高开发效率和软件质量。 首先,Linux开发工具包含了丰富的文本编辑器,如Vim和Emacs。这些编辑器具有强大的功能和高度可定制性,能够满足不同开发者的需求,如代码高亮、语法检查、自动完成等,有助于编写高质量的代码。 其次,Linux开发工具还包括编译器和调试器。常用的编译器有GCC和Clang,它们支持多种编程语言,如C、C++、Java等,能够将源代码转换为机器代码。调试器如GDB和LLDB能够帮助开发者在代码执行过程中进行调试,定位和修复bug。 另外,Linux开发工具还提供了版本控制系统,如Git和Subversion,可以帮助开发者管理代码版本,协作开发,追踪代码变更历史,并提供分支管理和合并功能,方便团队合作和代码维护。 此外,Linux开发工具还包括构建工具,如Make和CMake,能够自动化构建和编译过程,简化开发流程,提高开发效率。还有性能分析工具,如Valgrind和Gprof,可以帮助开发者分析代码性能瓶颈,优化程序性能。 总之,Linux开发工具提供了一套完整的开发环境,可以满足开发者在Linux平台上开发软件的各种需求。通过这些工具的使用,开发者可以更高效地编写、调试和测试代码,提高软件质量和开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值