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

 我来答
Mexico卡卡
2017-11-25 · TA获得超过1万个赞
知道大有可为答主
回答量:1.3万
采纳率:98%
帮助的人:1863万
展开全部
相对于Linux下的C/C++开发,在windows下的初学者往往容易入门,原因是visual studio, 这个强大的工具隐藏了很多的细节,好多人甚至以为拖拖控件,写写消息响应函数就是软件工程师了,这点在入门的时候尤为明显。但是在这个强大工具的背后,隐藏了太多的东西,其中许多对于我们来说是非常重要的东西,比如Make, debug, call stack, 汇编代码,OS,哪些功能是系统提供的,哪些是工具提供的。所以很多人转过来的时候往往去类比以前windows的知识,但是又对不上,再加上无人指点,工作不用,可能慢慢的就会失去信心。

但是我认为作为一个有追求的软件工程师,棚轿如果链衡肆不了解Linux, 我不认为他合格。对于软件工程师而言Linux给了我们另一个选择,另一种思路,同时也提供了我们很多的轮子和一座宝库。

如下总结出一些建议,希望对学习Linux开发的朋友有所帮助。
1. 不要一开始就去搞内核,先装上系统用Linux来完成一些日常的事情,比如:拦瞎看电影,拷贝文件,添加修改用户,文件,学学shell 脚本。
2. 试着用命令行去编译一些简单的代码,然后逐步增加难度,然后学学make。
3. 学习Linux的一些基础知识,找本书看看。
4. 尝试自己去写一些小的东西,动起手来,别总看书而不去实践,实践出真知。
5. 学习如何调试代码。
6. 学习主要的一些系统调用,文件操作,socket操作等等。
7. 学习简单的驱动开发,比如:串口驱动。
8. 学习内核源代码。

另外在此需要指出的是,当你真正看透了Windows和Linux的软件开发的时候,你可能并不觉得他们有很大的区别,所谓殊途同归,说的可能就是这个道理,比如这两个平台的代码最后都会转换为IA32架构的指令序列,在转换过程中使用了不同的工具,反出来的汇编代码区别也不是太大。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式