解析Linux C/C++开发的难度到底在哪

 我来答
手机用户53327
2013-12-10 · TA获得超过203个赞
知道答主
回答量:114
采纳率:0%
帮助的人:124万
展开全部
其实这个问题对于不同的人答案往往不尽相同,每个人所处的环境就不同。一个普遍的现象是有一些windows开发基础的人,他们想转Linux开发,那我就以这个点和大家讨论一下。 相对于Linux下的C/C++开发,在windows下的初学者往往容易入门,原因是visualstudio,这个强大的工具隐藏了很多的细节,好多人甚至以为拖拖控件,写写消息响应函数就是软件工程师了,这点在入门的时候尤为明显,出生牛犊不怕虎,信心满满。但是在这个强大工具的背后,隐藏了太多的东西,其中许多对于我们来说是非常重要的东西,比如Make,debug,callstack,汇编代码,OS,哪些功能是系统提供的,哪些是工具提供的。所以很多人转过来的时候往往去类比以前windows的知识,但是又对不上,再加上无人指点,工作不用,可能慢慢的就会失去信心。 但是我认为作为一个有追求的软件工程师,如果不了解Linux,我不认为他合格,当然此处无意挑起平台之争,实在是对于软件工程师而言Linux给了我们另一个选择,另一种思路,同时也提供了我们很多的轮子和一座宝库。 如下总结出一些建议,希望对Windows转Linux开发的朋友有所帮助。 1.不要一开始就去搞内核,先装上系统用Linux来完成一些日常的事情,比如:看电影,拷贝文件,添加修改用户,文件,学学shell脚本。 2.试着用命令行去编译一些简单的代码,然后逐步增加难度,然后学学make。 3.学习Linux的一些基础知识,找本书看看。 4.尝试自己去写一些小的东西,动起手来,别总看书而不去实践,实践出真知。 6.学习主要的一些系统调用,文件操作,socket操作等等。 7.学习简单的驱动开发,比如:串口驱动。 9.学习内核源代码。 另外在此需要指出的是,当你真正看透了Windows和Linux的软件开发的时候,你可能并不觉得他们有很大的区别,所谓殊途同归,说的可能就是这个道理,比如这两个平台的代码最后都会转换为IA32架构的指令序列,在转换过程中使用了不同的工具,反出来的汇编代码区别也不是太大。还是那句话,做同样的事情,每个人的切入点不同,所谓站得一山方望得另一山高,千万不要畏而不前,迟迟不敢动手。 希望此文对大家有所帮助。
深圳森林
2013-12-16 · TA获得超过208个赞
知道答主
回答量:200
采纳率:0%
帮助的人:86.9万
展开全部
难度在于当项目深入到一定程度后,你需要更改Linux的源码来满足你的项目的需求,就像阿里巴巴没有使用原生的JVM而是使用自己优化后的JVM
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式