c++程序员如何学习linux/unix

大家好,在下是一名小c++程序员,有1年unix c++的工作经验,认真阅读过<c++ primer 3rd>,<effective c++>.粗糙阅读过<stl源码剖析>,<windows程序设计>,<c++ GUI qt4编程>,<linux/unix shell>,<oracle>。目前在一家通信软件公司做unix下的c++开发。由于小弟我不是计算机专业出身,所以数据结构基础不好,操作系统更是没学过,所以面试了好几家好公司都失败了,最近想踏踏实实精进下技术。小弟我的标准c++自认为已经比较好了,由于工作需要想深入学习下linux/unix,由于是初学者想请各位高手,达人帮帮忙,讲讲你们自己是如何成为linux c++高手的,都看过啥书,推荐几本教材,给小弟指条明路,谢谢大哥大姐们!
补充下:是否要学习linux内核呢?

首先装个linux熟悉一下,看一下linux基础的书。<鸟哥的linux私房菜>这本书不错。我认为对于一个程序员来说,这方面不用学得太深入,总要知道一下。
重点还是要学习linux下编译器(gcc、g++)、项目管理工具(make)的使用。还有linux的系统调用。
如上面所说的,linux世界里有大量的开方源代码应用,找别人的代码来读也是个很好的方法。
最推荐的书就是清华大学出版社的<linux C 编程>

现在完全没有必要想内核的事,<linux C 编程>里有关于linux里的系统调用文件、进程、线程、网络的编程都有价绍。很多其实都是内核的内容,你没有操作系统、数据结构基础,读内核的话是很痛苦。我想你现在也没这个时间和精力。不过日后如果有需要,或者你愿意提升,那就是日后的事了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-21
这门课程在 上海杰普就是2天半的课程,很好学的
只要英文差不多 把指令背过就可以了
还可以在里面用man "命令"查看系统命令的详细解释,不过是E文的。如果英文不好建议去下个星际译王
第2个回答  2008-03-29
既然有了 unix c++ 经验,还需要深入么?

直接分析别人的程序似乎更好。
Linux 的优势就在于别人的代码可以拿过来用,只要尊许人家的协议。
------------
update:你又不是开发一个新系统,看内核干什么?
当然,看看内核有好处,至少知道别人怎么使用纯粹的 C 语言编写各种功能的。

本人熟练掌握C++,想做Linux的开发,请问还应该学什么?
要学linux下的c编程,先看一两本linux下c的书比较好,这个你自己选择,但是经典的书还是好一些,比如《linux程序设计》、《unix环境高级编程》,看这些的时候把书上的例子选择一些自己编译一下,哪怕是照着敲进去,事半功倍。看完一本这样的书,你对linux系统编程的知识就足够了,这时候你可以开始阅...

怎么学习linux
学习Linux步骤:1、先了解了解基础吧,找一本薄一点的,浅一点的书,了解一下什么是linux。有个基本了解即可。不建议马上看《鸟哥的Linux私房菜》,这本书很不错,如果你了解linux基础之后再看,对你可以说是不受益匪浅都不行。没基础看《鸟哥的Linux私房菜》比较痛苦,内容很多。2、了解之后,在自己...

咋用Unix或Linux编程
所以要学linux编程首先要对linux系统本身有一定的理解。同时要透彻理解编译之类的原理。建议到相关的论坛学习,这个过程是不能急的。最后祝你成功!

如何学习linux平台上的网络编程
你需要找到《UNIX网络编程第1卷:套接口API》看这个书的同时,你从网上找些最简单的网络通讯程序小例子看看,对比书的介绍,很快你就会做个简单的聊天工具。然后:《UNIX网络编程第2卷:进程间通信》尝试做个具备一定并发量的Server端程序,使用多线程方式。用这本书做你的学习的总线,网上搜索学习做验证...

c++程序员需要具备的知识
c++程序员需要掌握的基础知识包括语言基础、GUI库、数据结构和算法、数据库、并行计算、网络编程、设计模式、库的使用和操作系统知识。语言基础是编程的核心,自学者应规划好学习路线,逐步深入。GUI库如MFC、WTL、wxWidgets、QT等各有特点,但学习一种深入即可,其他可按需掌握。数据结构和算法对于提高程序...

程序员从哪里开始学(程序员从哪里开始学编程)
零基础学编程,可以先选一门简单的语言进行学习,如c、java、Python,这样可以先对编程有一个初步的认识。在没有基础的情况下,买书自学是一个办法,如果想要速成,还是建议去报名一个培训班。0基础学习编程建议从C语言学起,可以说60%~80%的程序员都是从C语言开始。但是学编程的专业技术,建议去专业...

超详细 C\/C++ 学习路线分析:学好 C\/C++,走遍天下都不怕!
Windows\/Linux网络服务器学习Unix\/Linux平台开发、系统调用、内存管理、进程调度、MFC界面开发、网络编程、TCP、UDP网络服务程序编写、同步\/异步IO模型应用。数据库开发掌握SQL语言、Oracle、MySQL数据库使用。此阶段,掌握复杂问题解决能力、独立开发复杂功能模块、具备项目能力是关键。月薪过万不再是难题,成就...

如何成为一个程序员
1. 学习一门编程语言,如C、C++、Java、PHP、Python、HTML等,这是成为程序员的基础。2. 熟悉一种操作系统,如Windows、Unix、Linux\/类Linux、Android、iOS等,了解其工作原理和基本操作。3. 掌握简单的算法和数据结构,这是编写高效代码的重要前提。在确定学习方向时,考虑以下几个领域:- 游戏开发(...

在Linux下做开发 要学习Linux哪些东西
2、学会用Linux了,那么我们就要做一些Linux下的开发了,开发什么呢?看到网上有很多很强大很有趣的程序,我们都可以尝试去做,可是如何去做呢,程序是什么呢,怎么写呢?这时我们需要学习一些语言,比如比较基础的C语言,比如面向对象的C++,Java等。3、写完程序了发现不就是一个很普通的文件吗,怎么能...

学编程需要什么基础(学程序员需要什么基础)
1、一定的英文基础是必要的,需要了解C语言和C++。针对学习shell编程,及熟知各种Linux系统命令使用即可。如果有python或perl基础则更容易上手。2、看书时要多做习题,一题一题的弄明白,要不书也白看。从一开始养成良好的编程习惯,怎么算好的你看书上的代码怎么写的。3、关于数学,初中数学水平可以...

相似回答