免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 8826 | 回复: 24
打印 上一主题 下一主题

windows和linux开发c/c++各自的优势,大家来谈谈吧!  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-24 21:25 |只看该作者 |倒序浏览
windows和linux开发c/c++各自的优势,我一个同学去面试,被问了这么一个问题,
平时基本上只在linux下写程序,所以只对linux下开发c/c++有些许认识,请大家补充,共同学习。
  

  1. linux下
  2. gcc,shell,gdb这些都是命令行的,给程序开发提供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。

  3. 使用Makefile管理整个工程的编译和链接。

  4. gcc相对于VC的优势:
  5. 1.  GCC的跨平台优势
  6. 2.  GCC对代码的优化方面提供了丰富的支持
  7. 3.  程序的编译过程分为预处理,编译,链接,函数库的链接
  8.     GCC允许你在上面任何一个过程中停下来查看中间结果,并对其加以控制。
  9.      * 预处理
  10.        GCC的-E选项可以让GCC在预处理后停止编译,并向标准输出打印预处理过后的文件。
  11.      * 编译
  12.        我们用GCC的-c选项来编译和汇编源文件而不链接。
  13.      * 链接
  14.        gcc helloworld.o –o helloworld
  15.           生成可执行文件
  16.      * 函数库的链接
  17.        当我们要使用函数库不在GCC默认的搜索路径下的时候(例如pthread),
  18.        我们就需要手工来告诉GCC他们的位置。
  19.        gcc helloworld.c -o helloworld -lpthread


  20. gdb相对于VC的优势:
  21. 1.   设置断点时,我们可以设置一个条件,当条件成立时,程序自动停止,这是gdb一个非常强大的功能
  22.      break if i=100
  23. 2.    我们可以使用GDB提供的command命令来设置停止点的运行命令。也就是说,当运行的程序在被停止住时,我们可以让其自动运行一些别的命令,这很有利行自动化调试。对基于GDB的自动化调试是一个强大的支持。

  24.        commands [bnum]
  25.        ... command-list ...
  26.        end

  27.        为断点号bnum指写一个命令列表。当程序被该断点停住时,gdb会依次运行命令列表中的命令。

  28.        例如:

  29.       break foo if x>0
  30.         commands
  31.         printf "x is %d\n",x
  32.         continue
  33.         end
  34.         断点设置在函数foo中,断点条件是x>0,如果程序被断住后,也就是,一旦x的值在foo函数中大于0,GDB会自动打印出x的值,并继续运行程序。如果你要清除断点上的命令序列,那么只要简单的执行一下commands命令,并直接在打个end就行了。

  35.     可能有些地方说的不对,请大家指点,补充!



  36. windows下
  37. 也就是VC下,........没有发言权,请各位补充!
复制代码

论坛徽章:
0
2 [报告]
发表于 2006-12-24 21:37 |只看该作者
基本上,
我认为,
这个问题。。。。。











































没有太多可谈的。

论坛徽章:
0
3 [报告]
发表于 2006-12-24 21:38 |只看该作者
楼主列的这些VC基本都有,哪怕是VC6这样的老家伙.就是大部分人都不用.
好象command命令没有.
好象VC不能通过反汇编查看优化后的效果,这点不如GCC

论坛徽章:
0
4 [报告]
发表于 2006-12-25 10:40 |只看该作者
gcc似乎对C++标准支持得更好,但在非linux平台可能会出现问题。
在windows下,vc是其他开发工具没得比的。microsoft用大量的钱挖优秀的人才,做全面的测试。这些都是gcc,gdb所不具备的。

论坛徽章:
0
5 [报告]
发表于 2006-12-25 10:47 |只看该作者
一个是收钱的一个是免费的。

论坛徽章:
0
6 [报告]
发表于 2006-12-25 11:12 |只看该作者
有本书叫做《从小工到专家》
其中给你介绍了如何是用脚本把这些字符界面的工具综合起来,然后把很多开发步骤自动化以节约时间,这方面应该是字符界面的优势。

论坛徽章:
0
7 [报告]
发表于 2006-12-25 11:36 |只看该作者
vc是集成开发环境,虽然很烂,但是还是有些概念性的东西的.命令行(gcc,gdb)什么的就不具备这些东西.

论坛徽章:
0
8 [报告]
发表于 2006-12-25 12:05 |只看该作者
Windows有很多调试工具,如ida ollyice,关键是有破解版(不知道能不能自己破解自己

论坛徽章:
0
9 [报告]
发表于 2006-12-25 12:50 |只看该作者
again?

论坛徽章:
0
10 [报告]
发表于 2006-12-25 13:00 |只看该作者
说vc烂的兄弟大概是没有好好用过,不考虑gnu和微软的瓜葛,单从工具本身来说,xNIX世界里暂时还没有可以相比的东西。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP