本文仅从作者个人情况出发, 供有windows c/c++开发经验, 但是对linux c/c++不熟悉的朋友参考。 Linux开发牛人,如果有兴趣可以留言指导哈。 谢谢!
本人之前有一定c/c++开发经验, 对linux上就会一些简单的命令, 懂一点脚本和make。 现在, 工作完全转向linux平台相关开发, 需要熟悉IPC, 多线程, 内存池, timer, 网络等linux平台相关技术,所以得找些书籍参考, 从头学起。
想在linux上搞开发,首先还是得先对linux操作系统做一个基本了解,我选择了看《鸟哥的linux私房菜》,没买书。主要是考虑,网上看方便一边学习一边敲命令练习。先仔细看一遍,一边看一边练习,主要掌握linux档案系统,vi使用,man,bash,shell script。第一遍看完,不一定都能掌握住,以后工作中用到,忘了再回来重点看一下。这本书适合初学者,对看后面的书籍算是打基础。
熟悉linux操作系统之后,就可以看Linux编程的书籍了。我先看的是《UNIX环境高级编程》,以讲API为中心,介绍linux编程的基础。很经典的一本书,看完这本书,要做到对linux文件、IO、进程/线程、IPC、Socket熟练掌握,任何linux c/C++开发应该都少不了使用这些知识。
下面是一些进阶看的书,先列出来供各位参考,后面慢慢看,看完再评论。
linux socket:《Unix网络编程》卷1卷2
TCP/IP: 《TCP/IP详解》卷123
linux内核:《Linux内核设计与实现》,《深入理解linux内核》,《深入理解linux网络技术内幕》
想好好掌握linux编程不容易,路还很长,一定要有兴趣和坚持不懈的努力,勤加练习,不会就多动手试试,相信大家都会有所收获。
加油!