linux用什么编译器

发布时间 - 2021-11-22 00:00:00    点击率:
linux可用的编译器有:vim、Emace、Brackets、LightTable、gedit、Sublime Text 3、GCC、Clang、Visual Studio、Eclipse、EGCS、PGCC等等。

本教程操作环境:CentOS 6系统、Dell G3电脑。

Linux下的编辑器

1、vim

Vim是从 vi 发展出来的一个文本编辑器。它具有代码补完、编译及错误跳转等方便编程的功能,在程序员中被广泛的被使用。和Emacs并列成为Lunix系统用户最喜欢的编辑器–俗称神器。

2、Emace

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

特点:Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中,在基于编辑器的功能基础上,Emacs自行开发了一个“bourne-shell-like”的shell: EShell。

Emacs还可以:

收发电子邮件

通过FTP/TRAMP编辑远程档案

通过Telnet登录主机

上新闻组

登陆IRC和朋友交流

查看日历

撰写文章大纲

对多种编程语言的编辑

调试程序,结合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等

玩游戏

计算器

记日记

管理日程,Task,ToDo,约会等

个人信息管理

目录管理

文件比较

阅读info和man文档

浏览网站

为各种程序(TeX等)提供统一的操作界面

3、Brackets

Brackets也是一款为Linux开发者设计的开源代码编辑器,使用Brackets写代码,你不会被任何事情所打断。比如在写HTML代码时,即便你没有保存代码也可以及时预览你的Web页面效果。你也可以使用Theseus来检查变量,Brackets默认提供一种主题,当然你也可以在扩展中心获取更多的主题。Brackets是一款基于web(html+css+js)开发的web前端编辑器。它有许多普通编辑器难以实现的功能,是web前端开发者的神器。

4、LightTable

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

5、gedit

gedit无需多言,Linux各个发行版默认都有的编辑器,类似于Windows的记事本,不过可以根据代码类型着色,这点可比记事本牛逼多了,不过我一直没有搜索到如何配置gedit才能让他显示行号和改变tab为4个空格,所以不是迫不得已不会用gedit编辑正式文件。

6、Sublime Text 3

是一款绝对值得一提的Linux代码编辑器,因为它有简单而且超酷的功能特性。Sublime Text 3最独特的地方就是它没有独特的功能,它仅仅是一个简单的代码编辑器,有了它,你就可以非常方便地对多行代码进行修改了。利用Sublime Text 3你可以做操作文件、重命名变量、分离编辑和其他有趣的操作。

7、GCC

GCC 起初是 GNU 推出的 C语言编译器,用于类 Unix 系统下的编程,所以名为 GNU C Compiler 。随着众多自由开发者的加入,GCC 发展迅速,如今已成为一个支持众多语言的编译器了,其中包括 C、C++、Ada、Object C 和 Java 等,以至于 GCC 开始被扩展为 GNU Compiler Collection ,也就是“GNU 编译器集合”的意思。

GCC 通常用来编译 C 程序和 C++ 程序,编译 C 程序一般用 gcc,编译 C++ 程序则用 g++,由于 C++ 兼容 C 语言,g++ 也可以编译 C 程序。我们知道,Linux 系统不以后缀名来区分文件类型,但是 gcc 或 g++ 则需要根据后缀名来区分程序文件的类型,如果后缀名不符合规范,则会提示文件类型无法识别,gcc 或 g++ 所遵行的部分后缀名命名规范如下表所示。

后缀:表示的文件类型
.c:C 语言源代码文件;
.a:静态库文件;
.cpp/.cxx/.cc/.C:C++ 源代码文件;
.h:头文件;
.i:预处理过的 C 源代码文件;
.ii:预处理过的 C++ 源代码文件;
.m:Objective-C 源代码文件;
.o:编译后的目标文件;
.s:汇编语言源代码文件;
.S:还需要预编译的汇编语言源代码文件。

8、Clang

Clang是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。源代码发布于BSD协议下。Clang将支持其普通lambda表达式、返回类型的简化处理以及更好的处理constexpr关键字。
它采用了底层虚拟机(LLVM)作为其后端,它的目标是提供一个GCC的替代品。主要由C++编写。
Clang项目包括Clang前端和Clang静态分析器等。性能优异,其生成的抽象语法树(Abstract Syntax Tree,AST)所耗用掉的内存仅仅是GCC 的20%左右。编译速度快、占用内存小易于IDE集成。
较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。现在的编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。接下来介绍一些集成开发环境:

9、Visual Studio

Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。支持C类语言、Basic类语言、Java类语言及其他语言,因其强大的功能,占用了很大的用户份额。

10、Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),它是著名的跨平台的自由集成开发环境(IDE)。

最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

11、EGCS

EGCS(Experimental/Enhanced GNU Compiler System)这是gcc的发展方向, 把fortran等编译器集成进来, 它的构造很清晰, 把对gcc的各种改进/port都集成回去. 如gcc 2.7系列据说是没有对Pentium进行优化的, 而egcs则把pgcc对Pentium的一些优化集成进去了。

12、PGCC

PGCC(Pentium GCC) 针对Pentium CPU进行了编译器优化的compiler pgcc据说用JPEG压缩解压缩测试最快可比gcc快 30%!新版的pgcc都是基于egcs的, 以一个patch的形式release 。

相关推荐:《Linux视频教程》


# linux  # Python  # Java  # c语言  # perl  # lisp  # objective-c  # css  # html  # eclipse  # Object  # Lambda  # Collection  # JS  # table  # windows  # ide  # visual studio  # emacs  # vim  # sublime text  # microsoft  # centos  # gnu  # uml  # unix  # 编辑器  # 是一个  # 源代码  # 开发工具  # 汇编语言  # 行号  # 微软公司  # 自己的  # 编程语言  # 的是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 北京的网站制作公司有哪些,哪个视频网站最好?  轻松掌握MySQL函数中的last_insert_id()  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  网站建设整体流程解析,建站其实很容易!  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  微信公众帐号开发教程之图文消息全攻略  如何快速生成高效建站系统源代码?  企业网站制作这些问题要关注  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何用VPS主机快速搭建个人网站?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  如何基于云服务器快速搭建个人网站?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel如何实现API版本控制_Laravel版本化API设计方案  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  lovemo网页版地址 lovemo官网手机登录  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  详解MySQL数据库的安装与密码配置  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  用v-html解决Vue.js渲染中html标签不被解析的问题  高性价比服务器租赁——企业级配置与24小时运维服务  EditPlus中的正则表达式 实战(1)  如何撰写建站申请书?关键要点有哪些?  高端企业智能建站程序:SEO优化与响应式模板定制开发  使用Dockerfile构建java web环境  Laravel怎么在Blade中安全地输出原始HTML内容  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  实例解析Array和String方法  大同网页,大同瑞慈医院官网?  创业网站制作流程,创业网站可靠吗?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  详解Android——蓝牙技术 带你实现终端间数据传输  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何实现一对一模型关联?(Eloquent示例)  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Python并发异常传播_错误处理解析【教程】  Laravel定时任务怎么设置_Laravel Crontab调度器配置