Linux 关于编译、编辑、调试的一些问题

Linux下的编辑器

  1. Vim Editor
    Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线,总的来看,Vim和Emacs同样都是非常优秀的文本编辑器。
  2. Emacs
    Emacs即Editor MACroS(宏编辑器),是一种文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。
    Emacs是一种强大的文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。
  3. Notepad++
    Notepad++是一款非常有特色的编辑器,开源软件,可免费使用。内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持.nfo文件查看),还支持自定义语言。
    Notepad++是Windows操作系统下的一套非常有特色的自由软件的纯文字编辑器,有完整的中文化接口及支持多国语言编写的功能(UTF8 技术)。它的功能比Windows中的Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合当作编写电脑程序的编辑器。Notepad++不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
  4. TextMate
    TextMate是Mac平台下的著名的编辑器,适合程序员使用。与BBedit一起并称苹果机上的emacs和vim。可以定制许多贴心使用的功能。
    TextMate的Bundles是TextMate的一个亮点,可以有效的提高开发速度。
    包括DHH在内的Rails核心开发者一直都使用TextMate进行开发,原因就是他们主要都在使用Mac OS系统,并且TextMate具备出色的界面、强大的宏定义、以及可下载和编辑的宏定义包(bundles),这些都帮助开发者将编码的效率提升到最高。
  5. Sublime Text
    Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具
    栏。Sublime Text的主要功能包括:拼写检查,书签,完整的 Python API,Goto功能,即时项目切换,多选择,多窗口等等。
    Sublime Text是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

Linux下的编译器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(图片来自https://en.wikipedia.org/wiki/List_of_compilers#C++_compilers)


为什么调试的时候需要编译选项中添加 -g

默认编译生成的可执行文件是无法使用 gdb 来跟踪或调试的,因为可执行程序中没有可供 gdb 调试使用的特殊信息,为了将必要的调试信息整合到可执行文件中,我们便需要用到 -g 选项,这样生成的可执行程序,倘若出现问题,便可以使用 gdb 找出问题具体出现的位置,便于问题的解决。
“-g”标志是对程序进行调试性编译时常用的选项。我们需要给每一个需要调试的源文件都加上这个选项。它将使用特殊版本的C语言标准库完成编译和链接操作,给库函数加上程序调试方面的支持。编译器会把这些标志自动传给链接器。

加上-g选项以后,gcc在编译是会做以下额外的操作:

  • 创建符号表,符号表包含了程序中使用的变量名称的列表。
  • 关闭所有的优化机制,以便程序执行过程中严格按照原来的C代码进行。

Linux下软件安装的几种方式

1. 源码安装

几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc、make、automake、autoconf都支持源码安装。

  • 源码安装的方式
    1、cd 源码所在目录
    2、./configure [opts]
    3、make
    4、make install
  • 源码安装优点
    1、文档齐全
    2、因为可以定位到代码,所以debug方便
    3、本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)
  • 源码安装的缺点
    编译麻烦
    缺乏自动依赖管理,软件升级麻烦
2. rpm包安装

rpm包安装几乎在所有Linux平台上都支持,它就像Windows下的exe安装文件一样,各种文件已经编译好,并打包,哪个文件在哪个文件夹里面都已经被指定好,所以很方便。

  • rpm包安装的方式
    rpm -i xxx.rmp
  • rpm包卸载的方式
    rpm -e 包名
  • rpm包升级的方式
    rpm -U 包名
3. yum安装软件包

yum并不是一种包,它是安装包的一个软件,在CentOS中是软件包的管理器,yum也对依赖关系进行管理,但是必须要在联网的情况下完成。

  • yum包安装的方式
    yum -y install
  • yum包卸载的方式
    yum remove 包名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值