- 博客(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 715
原创 用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 2189 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 473
原创 排列组合 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 567
原创 c语言实现回调函数
callback.c/* * @file c语言实现回调函数 * @detial 在java等更高级的语言中往往已经给我们封装好了回调函数的调用方式,直接用就可以了。而C语言中并没有这种直接可以操作的回调方式,我们用函数指针来实现回调原理。 */#include<stdio.h>// 方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表)typedef
2016-06-04 10:13:16 7152 2
Mycat-server-1.5.1-RELEASE-20160509173344-linux.tar.gz
2016-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人