当前位置:首页 » 编程软件 » clang编译器

clang编译器

发布时间: 2022-01-13 03:14:17

❶ unix下C编译器版本如何查看

常用的编译器有gcc, clang, c-compiler, xlc(AIX)等。一般他们会绑定到cc(软连接), 所以你可以查看下cc指向哪个连接,如果遵循GNU语法,那么看版本就是cc --version. 一个系统可以装多个版本的多种编译器,那么就可以看下$PATH变量中优先哪个生效?当然还有其他编译器,如intel 厂商的。可以看man XXXX 然后搜 version.

❷ 目前主流的C++编译器有哪些

我用Cfree,也推荐你用这个,这个编译器是自带提示的,就是你只要输入关键字或者之前设定函数的前几个字母,该编译器就会自动给你“联想”出你需要的关键字或者相关的函数、成员等,这时只需要按下会车就实现自动输入,这样不会因为你输入错误而照成不必要的修改……

❸ Clang 比 GCC 好在哪里

从代码上说,clang结构更简单。因为clang只需要完成词法和语法分析,代码优化和机器代码的生成工作由llvm完成。所以和全部由自己包下的gcc比起来,clang可以更专注地做好一件事。

这种结构也使clang可以被单独拿出来用在其他的程序里。比如vim的clang_complete插件就是利用clang进行语法分析后给出精确的自动补全和语法错误提示的。而gcc就没法很方便地做到这一点。

在实用性方面,除了有更快的编译速度更快和更友好的出错提示外,clang还内置有静态分析工具,可以对代码进行静态分析(clang --analyze)。这也是gcc做不到的。

总结如下:

Clang是LLVM的前端,可以用来编译C,C++,ObjectiveC等语言。传统的编译器通常分为三个部分,前端(frontEnd),优化器(Optimizer)和后端(backEnd)。

在编译过程中,前端主要负责词法和语法分析,将源代码转化为抽象语法树;优化器则是在前端的基础上,对得到的中间代码进行优化,使代码更加高效;后端则是将已经优化的中间代码转化为针对各自平台的机器代码。Clang则是以LLVM为后端的一款高效易用,并且与IDE结合很好的编译前端。

❹ Clang 比 GCC 编译器好在哪里

编译速度更快、编译产出更小、出错提示更友好。尤其是在比较极端的情况下。

两年多前曾经写过一个Scheme解释器,词法分析和语法解析部分大约2000行,用的是Boost.Spirit——一个重度依赖C++模版元编程的框架。当时用g++ 4.2编译的情况是:

编译速度极慢:完整编译一次需要20分钟

编译过程中内存消耗极大:单个g++实例内存峰值消耗超过1G
中间产出物极大:编译出的所有.o文件加在一起大约1~2G,debug链接产物超过200M
编译错误极其难以理解:编译错误经常长达几十K,基本不可读,最要命的是编译错误经常会长到被g++截断,看不到真正出错的位置,基本上只能靠裸看代码来调试
这里先不论我使用Spirit的方式是不是有问题,或者Spirit框架自身的问题。我当时因为实在忍受不了g++,转而尝试clang。当时用的是clang 2.8,刚刚可以完整编译Boost,效果让我很满意:
编译速度有显着提升,记得大约是g++的1/3或1/4
编译过程中的内存消耗差别好像不大
中间产出物及最终链接产物,记得也是g++的1/3或1/4
相较于g++,编译错误可读性有所飞跃,至少不会出现编译错误过长被截断的问题了
当时最大的缺点是clang编译出的可执行文件无法用gdb调试,需要用调试器的时候还得用g++再编译一遍。不过这个问题后来解决了,我不知道是clang支持了gdb还是gdb支持了clang。至少我当前在Ubuntu下用clang 3.0编译出的二进制文件已经可以顺利用gdb调试了。

最后一点,其他同学也有讲到,就是Clang采用的是BSD协议。这是苹果资助LLVM、FreeBSD淘汰GCC换用Clang的一个重要原因。
答案出自:http://www.hu.com/question/20235742

❺ 综合来说,几大主流C++编译器(icc,gcc,clang,vc++等)究竟孰优孰劣

我曾编出各种C++ 11编译器的支持,并有C++ 14编译器支持一批。


实际使用

对VC编译的速度不断提高,内存占用已经从VC12开始明显提高,而最明显的是可变参数模板。还有内置的代码静态分析,在实际中很有用。32位保护模式下,ss寄存器存的是一个段选择子,选择子是一个数字,通过IDT(局部描述符表)或者GDT(全局描述符表)选择一个段描述符,描述符里面的信息包含该段的取值范围和大小。

vc14的静态分析不在每次载入一个ie(对,以前每分析一个.cpp,就载入一次ie!),速度快了相当多。



❻ 如何设置来用clang/clang++替换Linux下的默认编译器Gcc

是两种不同的C++编译器。gcc历史很悠久了,而clang是新兴的编译器,已经兼容gcc,也全面支持C++11标准、Objective-C等,当然二者都是cross-platform的。具体的区别可以移步维基网络中gcc和clang词条。

❼ 话说vim中用clang,怎么关联到编译器的那些头文件

clang是一个编译器,你的说法有点问题。。但意思应该是代码自动补全吧

要安装clang conplete插件:

  1. 下载http去掉我://www.vim.org/scripts/download_script.php?src_id=19588

  2. 终端cd入下载目录,vim clang_complete.vmb -c 'so %' -c 'q'

❽ GCC/G++,ICC,Clang,MSVC,BCC等C/C++编译器有什么特长和不足

clang编译速度快,但是貌似编译结果运行相对会慢。功能更新一般也比较快。
g++编译速度比clang慢,编译结果运行貌似比clang快。功能更新稍慢。
vc这几年没编译过大工程,感觉上编译速度在clang和g++之间。以过去的经验g++和vc编译结果运行速度差不多。功能更新上就是一坨屎。但是在Windows上写点正经东西你可能不得不用它,相对的你也只能在Windows上用它。
icc很久没用过,过去印象编译速度很慢,运行速度最快但是感觉有点得不偿失。最大的问题是这东西要钱,前三个都是免费的。
bcc直接无视就好了。

❾ 我是正在学习c的小白我把我的vs2017编译器改成了Clang

包含一下头文件吧wchar_t定义的地方

热点内容
怎么根据序列号查配置 发布:2024-11-15 10:31:52 浏览:348
mysql查看数据库位置 发布:2024-11-15 10:25:16 浏览:439
需要学Python 发布:2024-11-15 10:23:41 浏览:836
如何制作安卓平板软件 发布:2024-11-15 10:23:39 浏览:215
手机忘记密码被锁预示着什么 发布:2024-11-15 10:22:15 浏览:193
android图片管理 发布:2024-11-15 10:13:02 浏览:9
算法微调 发布:2024-11-15 10:07:44 浏览:542
python列表查询 发布:2024-11-15 10:06:08 浏览:133
保存在服务器的图片如何删除 发布:2024-11-15 09:55:09 浏览:801
花雨庭国际服服务器ip 发布:2024-11-15 09:54:00 浏览:503