LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1635|回复: 16

一个也许不该问的问题

[复制链接]
发表于 2006-8-6 23:06:17 | 显示全部楼层 |阅读模式
刚转到linux环境编程

问一个问题,既然linux下有不少不错的IDE,为什么还要花很多精力研究gcc,gdb?

想code:blocks或者别的ide,都有很好的编辑功能,然后直接compile,build,调试也是图形化。

问题换一个角度 ,就是,学习gcc,g++,gdb,makefile能给我门带来别的什么好处?

除了小文件不用新建project以外。
发表于 2006-8-6 23:08:23 | 显示全部楼层
无言,不能知道该怎么回答!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-6 23:09:40 | 显示全部楼层
觉得我的问题太弱了?
回复 支持 反对

使用道具 举报

发表于 2006-8-7 08:54:46 | 显示全部楼层
过一段时间你自然会明白的,现在强解释给你了效果也不大
回复 支持 反对

使用道具 举报

发表于 2006-8-7 10:02:10 | 显示全部楼层
根据你的发展方向来学吧,
学习gcc,make只不过更强调基础,从而可以更加灵活的做一个工程,但这些只有某些人才需要“灵活”。也许你,我,很多人都只需要一个上层的应用能build和run起来就好了,这样的话,直接用eclipse,anjeta,kdevelop就好了。
但是,实际上,从使用的角度出发,有一点要知道的是,因为哪些IDE的编译链接工具仍然是gcc之类的,所以,IDE提供给你的许多参数,其实都来源于gcc等工具的命令行参数,至少是异曲同工的。所以,你要学了命令行的东西,随便你用哪个IDE,都可以很快上手。
以上是我的一点意见呵呵,欢迎讨论
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-7 10:04:35 | 显示全部楼层
谢谢楼上的解释。

我在windows上有过编程经验,不过用的是vs。各位的解释我尽力去看懂吧

我知道目前IDE大多数都是基于gcc系列的编译器,我就想知道,为什么这么多人花大力气去学这个单独的,分离的,或者依靠makefile的编译步骤以及单独的调试步骤。因为除非特殊应用,理论上这些在IDE下都能做的很好。

ok,我首先假设,大多数人都不是专业搞编译链接过程研究的。事实上大多数人确实不是。而且,我不认为只有上层的程序才可以用IDE,即使是驱动的开发,也有很多人用vs开发,用界面化的调试工具调试。

我在学习一个东西之前想知道它是否值得我花大精力去学习,所以,我知道这个问题在大家看来比较傻,但是我还是希望得到答案
回复 支持 反对

使用道具 举报

发表于 2006-8-7 11:04:21 | 显示全部楼层
IDE就那么好用吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-7 11:45:57 | 显示全部楼层
因为我只用过ide,所以就算你说ide不好用,这种方式好用,我也不知道它好用在哪里阿

至少对于一个一般的工程而言,ide下是很简单的,图形化添加文件,编译,调试,最后build,很好用阿。多个工程也无所谓,现在ide对多工程管理都不错。

如果牵涉到修改编译选项的,gcc要学,ide里也要学阿,

我就是希望,知道分开的,用makefile组合的这种方式有什么非常棒的特性。如果我知道为什么这玩意比ide好用,我也就不会问这个问题了
回复 支持 反对

使用道具 举报

发表于 2006-8-7 13:19:11 | 显示全部楼层
IDE不能实现真正的自动化,真正的自动化还是要靠编程语言去实现,makefile就是这样一个入口,可以调用任何语言(c/c++,perl,tcl,python,bash)去完成某个目的。
如果你要通过文本去生成man手册,或者pdf,html的文档,那么你就能体会到使用makefile带来的自动化的效果了。
如果单纯为了编译和调试,用IDE未尝不可。如果要做项目(包括各种文档和参考,多语言包等),还是makefile吧。楼主是搞win的,可能不知道GNU的多语言支持是通过po文件实现的,而不是放在exe或dll中的所谓资源。
回复 支持 反对

使用道具 举报

发表于 2006-8-7 19:30:33 | 显示全部楼层
Post by 风雷
觉得我的问题太弱了?



哦,没有没有!!

别误会!!呵呵!!!


只是遇到这个问题,不知道如何表达而以!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表