主题:小心地探讨我们可以用Ubuntu干些什么,不能干什么? -- yueyu
无论你的linux下,还是Unix下,用的编译器都是gcc对不?
但是如果你把Visual Studio的代码移植到了C++ Builder的话,那可就是跨了编译器的移植了,这难度可不是一点半点。
C++Builder很久以前在linux下有个移植版本,叫做:kylix for C++。可以试着把用gcc编译的项目用它编译一下,看看效果如何?我虽然没有试过,但是我相信绝对不是一件轻松愉快的事情。
客观地说,linux上的IDE,能和VS想比的确实没有,哪怕是十多年前出来vs6,都未必比得上。
Windows下强大的编辑器也不是没有,UE的水平也不差,而且vim/emacs也在Windows下有移植版本。但是为什么几乎没有人用这些编辑器开发大型的C/C++项目?如果linux下的ide平台真的这么强大,那么为什么还那么多人抱着vim/emacs不放?
其实想想就知道,原因无非就是linux下的这些IDE,其实比起vim/emacs来说,强不了多少。
另外,再说几个Windows下开发比较容易入门的因素:
Windows下开发,有MSDN。这个重量级的文档资料库,不但远远比man强,而且在整个开源社区,也拿不出一个能和它相提并论的文档库。事实上有时候我在linux下开发时,碰到一些stl中比较复杂的用法时,也会去差MSDN。
另外就是linux下的makefile语法相当的晦涩。一个超过几万行的项目,通过makefile组织起来就颇为的复杂了。在我的公司里面,大部分的makefile都不是从头开始手写的,而是拿一些现有的makefile弄过来修修改改,能用就行的。这样就造成了相当多的代码冗余,也大大的增加了阅读的难度和出现bug的几率。
我想很多人看到这里就会说到automake,但是automake生成出来的makefile,就更是天书一般。没有三五年的经验,很多人估计一下子是就懵了。
当然,makefile不仅仅是automake那种东西,但是无论那种,对应到大型项目中时,都不太好懂。例如说ACE的那套makefile,版上有多少人是能完全弄清楚它的原理流程和细节的?
但是VisualStudio的sln和vcproj,用的则是简洁的xml类似的组织形式,相当的容易看。同样是ACE的项目,vs的项目工程,就好懂很多。
ps:现在有个新的cmake,听说挺不错的,有空了解一下,希望能比automake那套东西好用吧。
- 相关回复 上下关系8
压缩 3 层
🙂这个其实归咎于开发人员的素质了 yueyu 字289 2008-10-27 14:17:07
🙂没办法,国内的计算机编程培训本来就集中在windows块 1 青色水 字370 2008-10-27 14:21:51
😮不是吧 whoknows 字684 2008-10-28 20:47:12
🙂这么比不合适
🙂linux的eclipse cdt用来作c/c++开发 1 季侯 字295 2008-11-08 03:00:36
🙂花赞 whoknows 字112 2008-10-29 21:26:21
🙂我也是一样 yhz 字312 2008-10-29 22:09:19
🙂不用GDB,如何Debug? yueyu 字87 2008-10-29 22:53:46