自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liberalman的专栏

自由的人

  • 博客(12)
  • 资源 (11)
  • 收藏
  • 关注

原创 从零开发MQTT服务(二)

二、配置文件 也不是核心模块,不用太多篇幅写了,看我github代码吧static int load_conf_from_file(libertymqtt_config *config, bool reset, const char *filename, int level, int *line){ int ret = 0; const int MAX_LINE = 1024;

2016-06-22 22:53:51 403

原创 从零开发MQTT服务(一)

开发语言:Linux下C语言,gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 操作系统:Centos 6.5 64bit 源码地址:https://github.com/liberalman/mqtt/tree/master/libertymqtt一.日志模块文件路径:src/log.c 这里贴出核心代码void print(const char

2016-06-22 11:25:00 498

原创 二分查找、折半查找

#include <stdio.h>#define N 10void printA(int A[], char n){ int i = 0; for (i = 0; i < n; i++) { printf("%d ", A[i]); } printf("\n");}void printSearch(int A[], char n, i

2016-06-15 18:28:31 714

原创 用Golang实现基于时间轮算法的定时器

package timingwheelimport ( //"container/list" //"fmt" "sync" "time" "timer_server/util")const wheel_cnt uint8 = 5

2016-06-12 17:13:57 4829 1

原创 C调用graphviz绘制堆

之前的博客http://blog.csdn.net/socho/article/details/51565498《对”堆”的理解》中打印堆是在终端中,不是很直观,发现一个可以生成图片的利器graphviz,于是用c语言调用下,程序运行中生成图片,特别直观了。 以上是用终端打印出来的,发现了一个绘图利器graphviz,可以把堆画出来。安装这个软件什么的就不讲了,自己百度,这里默认已经安装好了。所以

2016-06-08 20:31:53 2188 2

原创 快速排序

C语言实现#include <stdio.h>#define N 9int A[N] = { 10, -3 , 28, 76, 37, 55, -1, 99, 11};void printArr(int arr[], int length){ int i; for (i = 0; i < N; i++) { printf("%d ", A[i]);

2016-06-05 20:43:18 472

原创 排列组合 C语言实现

#include <stdio.h>#include <stdlib.h>int array[] = {1,2,3,4};#define N 4#define M 3int queue[N] = {0}; //保存已经找到的结果,前缀int top = 0; //队列顶部下标int flag[N] = {0}; //是否已经排列过了的标志/** * 排列 * @param s 递归

2016-06-04 23:15:11 9647

原创 linux下如何让程序无法重复启动

通常情况下一个程序可以被多次执行,也就存在多个相同的进程。有时候我们有些全局资源只允许单进程访问,为了不让进程多起,要实现进程在一台机器上只能有一个实例的方法。 经查找,可以使用flock的方式,建一个lock file,让程序执行前先检查是否有执行中的实例,即对文件加锁。single_program.c#include <stdio.h>#include <stdlib.h>#include

2016-06-04 22:24:38 2824

原创 索引查找

索引查找是在索引表和主表上进行的查找,主表是线性表。先按照给定的哈希算法(比如value%100)对每一个value做哈希运算,将value映射到不同的数据段中(以模100为单位),这样每隔100个数段的区间就被一个哈希值做的索引映射到,以这种方式创建主表,同时创建一个索引表,记录每个100个数区间的索引编号、起始位置、有效数据长度。在查找数据的时候,只要以同样的哈希算法先计算哈希值,直接按该值跳到

2016-06-04 18:23:36 2122

原创 冒泡排序

冒泡排序(Bubble Sort)。 [1] C语言实现#include <stdio.h>#define SIZE 9void printArr(int arr[], int n){ int i; for (i = 0; i < n; i++) { printf("%d ", arr[i]); }}/* * 交换 */void swa

2016-06-04 14:19:49 566

原创 c语言实现回调函数

callback.c/* * @file c语言实现回调函数 * @detial 在java等更高级的语言中往往已经给我们封装好了回调函数的调用方式,直接用就可以了。而C语言中并没有这种直接可以操作的回调方式,我们用函数指针来实现回调原理。 */#include<stdio.h>// 方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表)typedef

2016-06-04 10:13:16 7152 2

原创 对”堆”的理解

建堆、向下调整、向上调整、堆排序

2016-06-02 12:22:02 2196 1

Mycat-server-1.5.1-RELEASE-20160509173344-linux.tar.gz

分布式数据库Mycat,帮助透明化解决分库、分表、分布式事务、mysql扩容等问题,而对应用端透明,就像操作一台数据库一样轻松! Mycat的github下载下来的文件都损坏了,无法直接使用,可能他们没有编译好,终于找到了个可用了,放在这里供下载!

2016-07-08

淘宝数据库架构演进历程

淘宝数据库架构演进历程丹臣/赵林数据架构师

2016-02-04

简单实用的jquery分页插件

简单实用的jquery分页插件,不会分页的人入门教程!

2015-12-19

flashfirebug-4.69破解版

flashfirebug-4.69破解版

2015-09-22

Windows API 函数大全详解

列出所有Windows API函数,详细解释每个函数功能和使用方法,举出案例

2009-11-05

C++编程规范(成品化你的软件)

描述c++编程中页面代码布局、代码优化、行列格式、结构美学,以及命名格式、编程技巧和C++资源列表的规格手册

2009-10-29

STL入门教程.chm

STL入门教程,vc++模板库stand template library

2009-10-26

VC++ MFC函数库手册

VC++ MFC函数库手册 介绍所有MFC的函数

2009-10-11

MFC写的关于编辑框源的代码

用VC++ 中 MFC编写的一个可编辑对话框的源代码

2009-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除