Redis源码分析

最近用c写一个程序的时,切身体会到“书到用时方恨少”。尽管以前写程序都是用的Python、PHP、Java等,代码量量不多也不是太少,也用c写过一些小程序,但这次用c写的代码量一上来,驾驭c程序的能力略低下,程序中涉及到的一些数据结构、算法还不能轻松掌握,所以就想着如何提高自己的编程能力。前几天在写一个程序时用到了redis,以前也虽用过,但都忘的差不多了,相比其他的数据库软件的安装、配置等相对复杂的过程,redis使用可以说是“一分钟上手”,于是便喜欢上了这种即学即用,简单易用的软件。了解了redis后,其架构、思想、方法都是非常优秀的,遂打算学习下这一在DB-Engines上长时间排名前十的开源软件,研究其源代码,以此了解学习如何编写一个优秀的大中型软件,顺便可提高自己的编程能力。希望可以坚持下来。

并行编程

并行运算可大大提高程序的运行时间,一个直观的例子是在linux上使用make编译程序时,如果使用参数 -j ,则能够使用多线程在多个CPU核上执行编译程序,极大加快编译速度,所以提高程序运行效率的一种最有效的办法是编写并行程序。并行编程的目的主要是进行并行计算,并行计算是将任务交给多个处理器执行,每个处理器执行一部分子任务,并行计算的目的主要是减少计算时间并且便于增加计算规模。并行计算技术包括:并行计算机体系结构,并行算法,并行程序设计等。

C++多态性简单介绍

C++是一门面向对象的语言,面向对象的三个重要特征为:封装、继承、多态。这里简单介绍C++的多态性。多态性就是不同对象收到相同消息时,产生不同的行为(即方法),在程序设计中,多态性是用一个名字定义不同的函数,这些函数执行不同但又类似的操作,这样就可以用同一个函数名调用不同内容的函数,实现“一个接口,多种方法”。在C++中,多态性的实现与联编有关,联编分为静态联编和动态联编

C语言sprintf与sscanf函数

C语言提供了一些列的格式化输入输出函数,最基本的是面向控制台标准输出和输入的printf和scanf,其实还有面向字符串的sprint和sscanf,面向文件的流的fprintf和fscanf。今天着重总结一下sprintf和sscanf系列函数,这两个函数类似于scanf和printf ,不同点是从字符串*buffer用于输入输出。