clang支持真正具有语义支持的代码完成功能

ollydbg23 2011-01-18 08:52:09
具体可以看我的这个:
http://forums.codeblocks.org/index.php/topic,14046.0.html
我给了一个简单的例子程序,呵呵。

当然,我们也可以从命令行来调用clang,具体看这个:
http://forums.codeblocks.org/index.php/topic,13559.0.html

目前,vim,emace 已经全部由脚本支持了,至于IDE,似乎只有苹果的预览版xcode4支持,其他平台没有看到过。
clang可以提供代码补全,代码index,代码rewrite(也就是我们说的变量重命名)等等功能。
我觉得以后可能会带来IDE的巨大变革。

有兴趣的可以一起来参与给codeblocks加这个功能哦。

提示:
本论坛版大loaden目前是codeblocks的开发者之一。
...全文
633 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndrewDavidCheng 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

引用 14 楼 xunxun1982 的回复:
所以你也可以用随便改,然后gpl

clang的代码量超级大,可不是一般人能修改维护的。所以基本上我认定clang还是苹果控制的,呵呵。
[/Quote]

但另一方面来看,这对BSD UNIX社区是件好事.而且这玩意虽然不是一般人能维护的,但是有能力维护的社区还是有的.GCC一路GPL是蛮不错的,可惜到最后就搞得和BSD协议不兼容了.我对协议这玩意儿不是太了解,可以把BSD或者APSL的代码改改就弄成GPL的,前者的代码还真不是一般的豁达.
jackyjkchen 2011-07-13
  • 打赏
  • 举报
回复
当年苹果宣传clang的时候,号称比gcc快1000倍,一般见到这种宣传我都比较反感
ollydbg23 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tunixer 的回复:]
请问 如何使用mingw编译clang
[/Quote]
clang官方网站上就有讲,简单的说有两种方法:
方法1:需要在msys下编译。
方法2:用cmake,产生makefile,再编译。
tunixer 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ollydbg23 的回复:]
clang 是一个编译器前端,具体的相关介绍帖子,中文的话:
请看:

中文的资料,我看看我的收藏夹:
http://linuxtoy.org/archives/big-changes-llvm-clang-libcxx-lldb.html
http://blog.csdn.net/heiyeshuwu/archive/2010/04/19/5500573.aspx

简单的一点说,……
[/Quote]请问 如何使用mingw编译clang
ollydbg23 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xunxun1982 的回复:]
所以你也可以用随便改,然后gpl
[/Quote]
clang的代码量超级大,可不是一般人能修改维护的。所以基本上我认定clang还是苹果控制的,呵呵。
至善者善之敌 2011-07-13
  • 打赏
  • 举报
回复
学习。。。。。。。。
xunxun 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ollydbg23 的回复:]

比起clang的bsd协议,我还是跟倾向于喜欢和支持gcc的gpl。
因为苹果投资clang的目的,很大的目的就是让clang给自己的xcode做底层engine,结果xcode又不开源。。。。。
[/Quote]
所以你也可以用随便改,然后gpl
ollydbg23 2011-07-13
  • 打赏
  • 举报
回复
比起clang的bsd协议,我还是跟倾向于喜欢和支持gcc的gpl。
因为苹果投资clang的目的,很大的目的就是让clang给自己的xcode做底层engine,结果xcode又不开源。。。。。
xunxun 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jackyjkchen 的回复:]

当年苹果宣传clang的时候,号称比gcc快1000倍,一般见到这种宣传我都比较反感
[/Quote]
现在情况来看,是体积大1000倍
xunxun 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 akirya 的回复:]

VS系列带的智能提示就是基于语义的。
[/Quote]
是啊,但不开源啊
  • 打赏
  • 举报
回复
VS系列带的智能提示就是基于语义的。
tulipcaicai 2011-02-18
  • 打赏
  • 举报
回复
谢谢楼主分享
ollydbg23 2011-01-19
  • 打赏
  • 举报
回复
clang 是一个编译器前端,具体的相关介绍帖子,中文的话:
请看:

中文的资料,我看看我的收藏夹:
http://linuxtoy.org/archives/big-changes-llvm-clang-libcxx-lldb.html
http://blog.csdn.net/heiyeshuwu/archive/2010/04/19/5500573.aspx

简单的一点说,clang就是一个编译器前端。而llvm是一个编译器的中间层(或者说后端),我对编译器的后端了解不太多。所谓前端,反正就是读入源代码,然后进行词法分析,语法分析,语义分析等等,生成AST的结构。clang目前可以生成llvm能够理解的中间层的代码。而llvm可以对这个中间代码进行优化等等,具体后端生成什么,要看llvm具体产生什么了,理论上,针对不同的平台提供不同的后端。
目前的GCC的中间代码,似乎是一种叫做GIMPLE(是不是这样写的?我有点忘记了)的东西,不同的gcc编译器(例如gcc g++ ada...),都会生成这个这种格式的中间表达,然后gcc的后端再进行优化输出。

至于你想了解clang,我觉得最简单的就是:
http://clang.llvm.org/

然后尝试着编译llvm和clang (英文网站上面这些都有),我归纳的我已经放入我的 en.wikipedia.org的个人页面下面:
http://en.wikipedia.org/wiki/User:Ollydbg

另外,目前clang可以依托mingw的gcc汇编器,产生exe文件了,呵呵。
当然,我最有兴趣的是libclang,它提供了一大堆有用的功能。


xunxun 2011-01-18
  • 打赏
  • 举报
回复
不错,你给我推荐的链接我还没看呢……
healer_kx 2011-01-18
  • 打赏
  • 举报
回复
clang是什么啊?

erlang,开始以为楼主打错了。。。

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧