Linux平台开发指南

声明:以下内容摘自http://www.me115.com/post/25.html

以下技术和工具是Linux平台下工作的基础,熟练掌握:

C++

工作语言,重要性不言而喻;

入门:

《C++ Primer》

《Effective C++》

本部门主要还是应用开发,对技术的要求不是很高,熟练掌握C++,可应对日常工作。

若有兴趣在C++方向有所收获,有所沉淀,还是有很多好书等待阅读:

提高:

《STL源码剖析》

《Effective STL》http://book.douban.com/subject/1456960/

我们的代码中,STL用得不少,容器方面主要是vector和map,算法方面比较琐碎

《深度探索C++对象模型》

这本书阐述c++对象在内存中的结构,以及对象的成员函数和成员变量的内在状态有着深刻的理解。

《设计模式精解》

我的设计模式之路是从这本书入门的,几个实例就解释模式的用法,以及为什么要用模式(这个可能更重要),不过全书也就讲了10来个模式,意犹未尽。对设计模式感兴趣、初学者推荐;

《设计模式》

这本应该是该领域的圣经了,没有全部看完。虽说经典,但一页一页的翻完,还真要点耐性。不像老外写书的风格,这本书看的很累(个人观点)。我认为在对大部分模式都有一定的了解后再来看这本书,会找到很多兴趣点。

Vim

Unix系统人气最高的编辑器之一;平时工作都是远程ssh登录到服务器操作;文本编辑工作必不可少,可根据个人喜好在Vi或Emacs中选择一个熟练应用;

Vi入门:推荐 #VIM入门教程

makefile

在windows平台,我们不必关心每个文件之间的编译顺序、链接关系等,但到了Unix系统下,就不得不亲自动手来做这些事。掌握makefile显得非常必要。

学习makefile文章推荐:【百度搜索】跟我学习Makefile

Unix/Linux系统

作为在这一环境下工作的同学们,熟练掌握系统的重要性是不言而喻的,以下给出几本推荐读物,供参:

《鸟哥的Linux私房菜 基础学习篇》

评语 : 对于从未接触过Linux提供的同学来说,本书算是一个福音,以轻松诙谐的语言说清了常用的系统命令用法及语境; 对Linux零基础的同学,推荐

《Linux程序设计》

评语 : 写的中规中矩,算是linux下编码一本入门参考书,没有太大吸引力,如果是要在linux上深入发展的,可直接阅读《unix环境高级编程》

《UNIX编程艺术》

评语 : 个人认为最精彩的是前3章,将Unix的历史和渊源完美展现在读者眼前;本书从头到尾就是在宣传Unix的文化,阐明我们常用工具的历史及设计思想;当你 在vi和emacs的选择上困惑时,在python和perl间的选择困惑时,可以参考本书,你会得到一个中肯的建议。

《UNIX环境高级编程》

评语 : 对于巨著,我一向神往,国外的作者一般都能把理论和概念讲得透彻而生动;对于本书,我的观点是:想说爱你不容易;确为经典好书,但那密密麻麻的排版格式, 那一行行艰深的文字,让我一次次裹足不前。每当有技术难点,却都能在Stevens系列中找到答案。是该静下心来,好好读完它,然后常驻案边;

《UNIX网络编程 卷2》

评语 : 该书的另一名称:Unix系统IPC编程圣经

在工作中,需要用到进程间通信,以及想掌握IPC知识的,本书不可或缺;

CPPUnit

目前项目组所使用的单元测试工具;目前及今后的单元测试代码都是在CPPunit框架上构建的;

学习CPPUnix,网上搜篇介绍看下,然后查看项目组的单元测试代码实践即可。

时间: 2024-10-02 07:56:51

Linux平台开发指南的相关文章

Linux 汇编语言开发指南

一.简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能.就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分.由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能. 大多数情况下 Linux 程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在 L

Linux汇编语言开发指南

http://blog.chinaunix.net/space.php?uid=25299072&do=blog&id=2943093 一.简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能.就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分.由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编

Linux系统开发学习路线

一:嵌入式c语言 C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识.包括:基本数据类型.数组.指针.结构体.链表.文件操作.队列.栈等. 二:Linux基础 Linux操作系统的概念.安装方法,详细了解Linux下的目录结构.基本命令.编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建. 三:Linux系统编程 重点学习标准IO库,Linux多任务编程中的多进

C#在Linux上的开发指南

本人才疏学浅,在此记录自己用C#在Linux上开发的一点经验,写下这篇指南.(给想要在Linux上开发C#程序的朋友提供建议) 目前在Linux上跑的网站:http://douxiubar.com | http://douxiubar.com/AdminLogin/Index(MVC4+Dapper+Autofac)的一个作品 在Linux上开发建议上http://www.linuxdot.net/和http://jexus.org/讨论学习,我刚接触那会才知道自己才疏学浅,受益良多(入门题;I

蚂蚁区块链BaaS平台应用开发指南(四):JavaSDK的接入

在尝试本节的样例代码前,需要保证目标智能合约已经按照蚂蚁区块链BaaS平台应用开发指南(三):从一个简单合约开始中的做法编译部署成功. 基于JavaSDK的接入 在上一节里,我们通过Cloud IDE部署了一个最简单的智能合约,并且通过Cloud IDE成功的调用了合约的方法.拿传统应用的开发来类比,这就像在数据库上增加了一个存储过程,然后通过外部应用来触发这个存储过程的执行.那么,对于区块链来说,外部应用又如何来调用部署好的智能合约?在这一节中,我们将会通过蚂蚁区块链提供到JavaSDK来接入

开发指南专题八:JEECG微云快速开发平台数据字典

   开发指南专题八:JEECG微云快速开发平台数据字典的使用 1.标签中使用数据字典 数据字典为系统中可能用到的字典类型数据提供了使用的便利性和可维护性.以下拉框标签<t:dictSelect>为例进行讲解 1.1. 标签参数 属性名 类型 描述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field string 对应表单 是 null id string 唯一标识 否 null title string 显示文本 否 null defaul

C#在Linux上的开发指南(续)

续之前的一篇开发指南http://www.cnblogs.com/RainbowInTheSky/p/5496777.html 部分人在部署的时候经常出现dll兼容问题(其实可以看小蝶惊鸿的文章,蝶神早已踩过了坑http://www.cnblogs.com/xiaodiejinghong/tag/mono/) 站点部署后建议使用webbench进行压力测试 1.Microsoft.Web.Infrastructure.dll不用上传,mono已经实现(MS的dll有api依赖的问题),Mono的

开发指南专题十:JEECG微云快速开发平台--表单校验组件ValidForm

10.4Validform对象[方法支持链式调用] 如示例 var demo=$(".formsub").Validform(),那么demo对象会有以下属性和方法可以调用: tipmsg[object] 如:demo.tipmsg.s="error! no messageinputed."; 通过该对象可以修改除 tit 以外的其他提示文字,这样可以实现同一个页面的不同表单使用不同的提示文字. 具体可修改的提示文字 $.Tipmsg={//默认提示文字; tit:

开发指南专题五:JEECG微云快速开发平台代码生成器

开发指南专题五:JEECG微云快速开发平台代码生成器 1.1. Maven开发环境搭建 在搭建jeecg的maven开发环境之前,需要先配置好本机的maven环境,并在eclipse中安装好m2eclipse插件. 1. maven版本的工程目录,代码结构如图311所示. 2. 针对本机开发环境(这里以eclipse为例),调整依赖包和项目属性 首先在工程上右键->properties,在builders选项卡中删除掉不存在或不需要的builders,如图312所示. 然后进入Java Bu