--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
To post to this group, send email to ustc...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
To post to this group, send email to ustc...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
另外:
=========另外什么 qtcreator anjuta 什么的 和 geany 一样只能找 usage not reference其差别就在typedef struct { int x} A;typedef struct { int x} B;usage 区分不了 A中的x 还是B中的x 后者reference可以
=========
我试了一下,没发现你说的问题。
由此,我们可以知道,VS、Eclipse、YCM 都是认真做模板展开的。
但模板时图灵完备的。我猜它们内部有个 timeout,超时了就停止解析。
You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/i6CZ_pw6ZHY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.
没用过source insight,不知道KDevelop你认为如何?个人感觉KDevelop是Linux最好用的C++ IDE。

--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/i6CZ_pw6ZHY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.

You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/i6CZ_pw6ZHY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.
很可惜 绝大多数项目 基本文档很少,看那个 call graph 一来麻烦, 二来还不如直接来看代码快。
vim 用于简单语法语言 如 c 够用了, 但是 c++ 语法过于复杂。对 c++语法支持解析最好的, 包括你说的 #ifdef 定义等 应该是 ecipse cdt但是eclipse的速度 对于大型工程简直是无法使用,而且配置相当麻烦。 脑残的ui设计会郁闷死你。
装个 visual studio community 又不花钱,对 C++ 来说绝对是最好的 IDE。反正你只是读代码,不要编译运行,把 Linux 代码拿到 Windows 上来读也没有问题。
C 语言的语法相对 C++ 简单,基于正则表达式的 cscope 之类工具还能胜任,我自己常用 vim + cscope。不过 C++ 的模板、泛型就远非正则表达式能处理的(模板是图灵完全的,而正则表达式的表达能力只相当于下推自动机),要做好 C++ 的代码分析和自动补全,基本上需要一个完整的编译器前端。
不过 visual studio 对大型项目也是很慢的,会占用很多内存,这一点跟 eclipse 一样,我觉得是很难避免的。
把用 GNU autotools 管理的项目导入到 visual studio,就丢失了 configure 信息(因为 VS 不支持)。如果这些 configure 信息你认为重要的话(比如你不想让某些条件编译的代码干扰视线),就用 eclipse 吧(eclipse 支持 autotools)。
此外,对于大型项目来说,看 call graph 或者调试运行,我感觉比静态看代码效率高(除非看代码的目的是为了查不容易稳定重现的 bug)。因为大型项目里往往有很多函数指针、泛型,要到运行时才能确定的。如果全靠静态看代码,有时候能够看名字和赋值语句猜到调用的是哪个,有时候则不容易猜到。我还遇到过从配置文件生成代码的项目(我拿不到原始配置文件),上万个函数指针在一个数组里,而调用的地方是通过数组下标来索引的(table[123](args) 这样),尽管人看起来对应关系很显然,但 IDE 的静态分析工具无能为力。
vs 是我用过最烂的 ide 没有之一在折腾了 绝大多数ide, 后我现在已经回归最初选择了source insight 在wine 下虽然有些瑕疵但是 依然可用。
--
大: 不解释了 source insight 才35m
前两条 我觉得就可以把 vs 毙了另外还有颜色增强 靠插件联想 不知道 还要不要插件。
发信人: jackfnx (玄之又玄), 信区: CProgramming标 题: Re: 单说看代码,分析代码,有啥软件可以超越source insight吗发信站: 水木社区 (Tue Jan 27 17:55:37 2015), 站内对容易理解啊因为正经人没人看代码【 在 wjhtingerx (ca6140) 的大作中提到: 】: 这事我就觉的挺奇怪的,这么多年了,SI还是一枝独秀。: 后期各种IDE层出不穷,这个那个的,结果愣还是没SI好用,我就纳闷了,那些好用的功能,难道抄都不会抄吗?
--
大家讨论, 各抒己见, 没有抬杠的意思。慢 对于大型工程是致命的, vs 和 eclipse 都吃了这个亏。你对比用用 si 就深有体会了。另外代码阅读是必要的, 很多开源code 几乎没文档,以我现在搞的cocos2dx 为例, doxygen 文档能看个大概,但很多细节需要深入到代码实现才了解。不然 光看api 说明 并不清楚里面真的做了什么,和我们表面的理解有没有歧义。和别的api 一起掉会不会有问题。 调用次序有没有依赖。性能存不存在问题特别在有些api 近似的情况。 当同一个事情 有了2个api 去实现, 哪个才是最好的方法。 只有深入代码才能理解。另外把类库代码放入工程, 可以方便代码补全,同时方便的看其实现。
--
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
vim 太难用了 ctags cscope 插件装全了 也就那样。还要自己折腾半天 ,
KDevelop 是可以区分这两个 x 的,不妨一试。
Ubuntu 软件排位是个啥?那些地方明显好于后面两个了?
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
To post to this group, send email to ustc...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
一直用 source insight 非常顺手。色彩高亮和 代码分析做的很好。
--
来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/i6CZ_pw6ZHY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.