
C语言
jichunlai
学着生活
展开
-
protobuf vs json
结论:相同的数据量protobuf比json速度开了不是一星半点xxx.protomessage MyRawIhmMsg{ required string psIp = 1; required string psHelo = 2; required string psMail = 3;}message MyRawMailMsg{ required st原创 2013-07-26 15:41:10 · 1859 阅读 · 0 评论 -
unix域套接字实现echo服务
qa原创 2013-07-26 18:43:52 · 599 阅读 · 0 评论 -
c include
#include #include #include #include #include原创 2013-07-27 18:56:50 · 409 阅读 · 0 评论 -
定义非static的未初始化的全局变量是流氓行为
/* * a.c * * Created on: 2013-7-16 * Author: root */int a = 1;void test_a(){ printf("a:%d %d %d\r\n", &a, sizeof(a), a);}/* * b.c * * Created on: 2013-7-16 * Author原创 2013-07-16 14:05:29 · 609 阅读 · 0 评论 -
深入理解const
一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char const**p(6)char *const *p(7)char **const p当然还有在(5)、(6)、(7)中再插入一个const的若干情况,不过分析了以上7中,其他的就可类推了!二、理解助记法宝:转载 2013-06-26 19:47:16 · 395 阅读 · 0 评论 -
堆,栈,函数,alloca
来自网络资料和我的理解,如有错误,敬请指正!alloca() 是什么?为什么不提倡使用它?在调用 alloca() 的函数返回的时候, 它分配的内存会自动释放。也就是说, 用 alloca 分配的内存在某种程度上局部于函数的 ``堆栈帧" 或上下文中。alloca() 不具可移植性, 而且在没有传统堆栈的机器上很难实现。 当它的返回值直接传入另一个函数时会带来问题, 如 fge原创 2013-05-15 17:42:32 · 2119 阅读 · 0 评论 -
Linus:利用二级指针删除单向链表-实例代码
http://wordaligned.org/articles/two-star-programminghttp://coolshell.cn/articles/8990.html/comment-page-2重点在于core low-level coding,其实我们平时不需要考虑这么多,以普遍的方法实现健壮的功能就可以了,不过既然知道了有这么回事,还是把它想清楚吧,事情原创 2013-05-07 18:34:26 · 1654 阅读 · 0 评论 -
不要忽视任何细节---C语言链表操作的教训
最近发现服务器上一些服务进程一直处于长时间高CPU状态,有些进程甚至要跑10分钟左右,跟踪了一下发现,问题出现在如23-28代码中:#include#include#includetypedef struct LIST{ int nValue; struct LIST *ptNext;}List;void Add2List(List **ptList,原创 2012-09-19 23:07:42 · 2076 阅读 · 0 评论 -
daemon
//1stdin,stdout,stderr//2signal(SIGPIPE,SIG_IGN);//PIPEsignal(SIGCHLD,SIG_IGN);//防止僵死进程原创 2013-04-28 17:28:18 · 1449 阅读 · 0 评论 -
C读取文件内容
#include #include #include #include #include char *GetFileContent(const char *psFileName){ int pf = open(psFileName, O_RDONLY); if( 0 == pf) { printf("open file f原创 2012-08-31 18:10:23 · 2131 阅读 · 0 评论 -
errno含义
errno.h#define EPERM 1 /* Operation not permitted */操作不允许 #define ENOENT 2 /* No such file or directory */文件/路径不存在 #define ESRCH 3 /* No such process */进程不存在 #define EINTR 4 /* Interrupted syst原创 2013-04-03 17:44:47 · 2089 阅读 · 0 评论 -
Unicode,UTF-8,GB2312编码的识别
Unicode,UTF-8,GB2312编码的识别在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS 建议在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian原创 2012-11-27 15:00:35 · 1464 阅读 · 0 评论 -
跟我一起写 Makefile
作者:陈皓整理:祝冬华第 1 页共 78 页 2005年 10 月 14 日整理:祝冬华跟我一起写 Makefile 作者:陈皓第一部分、概述.........................................................................................................................转载 2012-09-06 07:39:49 · 2559 阅读 · 0 评论 -
7bit编码解码---未测试
// 7bit编码// 输入: pSrc - 源字符串指针// nSrcLength - 源字符串长度// 输出: pDst - 目标编码串指针// 返回: 目标编码串长度int gsmEncode7bit(const char* pSrc, unsigned char* pDst,转载 2012-09-27 17:05:25 · 2315 阅读 · 0 评论 -
C语言编码规范
C语言编码规范目录1.文件结构(4条规则+6条建议)... 11.1 版权和版本的声明... 11.2 头文件的结构... 21.3 定义文件的结构... 31.4头文件和定义文件使用(4条规则+6条建议)...42.程序版式(35条规则+2条建议)... 42.1 空行(4条规则)... 52.2 代 码行(5条规则+1条建议)..转载 2012-09-06 07:49:19 · 3035 阅读 · 0 评论 -
MISRA工业标准C语言编程规范
MISRA (The Motor Industry Software Reliability Association 汽车工业软件可靠 性联会) 是位于英国的一个跨国汽车工业协会,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助厂方开发安全的、高可靠性的嵌入式软件。这个组织最出名的成果是所谓的MISRA C Coding Standard,这一标准中包括了1转载 2013-11-12 20:51:30 · 2201 阅读 · 0 评论