幻想完美主义

导航

2012年8月20日 #

字节对齐的写法.

摘要: What I write, what I lose.之前看到Nginx的code的时候.看到一个关于字节对齐的实现. 突然想起之前去面试的时候, 别人让我实现一个4字节对齐. 当然奇怪别人怎么问这种问题.这时候开始有一点点体会.以下将个人总结的几种写法写上.#define common_align1(x) ((x/4+((x%4)?1:0))*4)#define common_align2(x) (((x>>2)+((x%4)?1:0))<<2)#define common_align3(x) ((x+3) &~(3))#define common_align4 阅读全文

posted @ 2012-08-20 19:29 幻想完美主义 阅读(565) 评论(0) 推荐(1) 编辑

2012年6月11日 #

OTR-记一个关于参数传递的问题.

摘要: What I write, what I lost.#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>#include <libio.h>#include <unistd.h>#include <math.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>//#include <sys/time. 阅读全文

posted @ 2012-06-11 18:37 幻想完美主义 阅读(243) 评论(0) 推荐(1) 编辑

2012年6月6日 #

OTR-Linux控制台打印颜色区分.

摘要: What I write, what I lost.对于依靠打印来作debug的主要手段的, 能够区分打印中的debug信息和error信息便显得非常重要.原文的介绍有一篇关于控制台颜色的文章http://www.ibm.com/developerworks/cn/linux/l-tip-prompt/tip01/有定义实现各种颜色的方式.以此为基础, 方式挺有用的.贴一段之前的使用的debug宏定义.debug的等级分为info(关键步骤的打印.)debug(调试用的打印.)data(具体调试的时候打开的开关.)api(函数进出的打印.)warning(警告的打印. 通常用于程序已经出错, 阅读全文

posted @ 2012-06-06 21:38 幻想完美主义 阅读(681) 评论(0) 推荐(0) 编辑

2012年5月22日 #

[OnTheRoad]Linux C 的http服务器.

摘要: What I write, what I lose.以Linux C的http服务器为切入点. 将一些基础的知识能够串起来. 先画一个即将设计的http服务器的基本框架.这篇当是一个索引.基本的知识另外一个知识点开一篇. 目录写一篇编辑一条好啦.====================================1.LINUX控制台打印颜色区分.2.记一个关于参数传递的问题.====================================谢谢. 阅读全文

posted @ 2012-05-22 21:24 幻想完美主义 阅读(616) 评论(0) 推荐(0) 编辑

2012年4月19日 #

使用CURL实现http文件下载加一个多任务的封装.

摘要: What I write, what I lose.Mark下.主要是使用CURL实现http文件下载,在此基础上做一个多任务的封装. 附带md5检测.头文件:#define HTTPTASKE_OK 0#define HTTPTASKE_ERROR 1#define TASKID inttypedef enum{ STATUS_BASE = 0, STATUS_IDLE, STATUS_RUNNING, STATUS_FINISHED_OK, STA... 阅读全文

posted @ 2012-04-19 21:09 幻想完美主义 阅读(1276) 评论(0) 推荐(1) 编辑

2012年3月21日 #

Linux下C程序的可扩展性.

摘要: What I write, what I lose.以下为个人关于Linux下C程序的可扩张性的一点想法.可扩展性的应用场景:1. 有两个项目都需要使用的一个相同功能的程序, 但是有些要求不一样. 比如:升级程序, 一个是2个分区,一个是3个分区.2. 具体使用的参数可能产生变化. 比如:服务器地址, 可能在开发阶段和正式上线阶段不同.如何让程序具有可扩展性. 我理解到的增加可扩展的方式.1.代码级别的修改.比如针对服务器地址:……const char* server_url = “http://testserver:8080/service/xxInterface”;https_post.. 阅读全文

posted @ 2012-03-21 20:10 幻想完美主义 阅读(516) 评论(0) 推荐(0) 编辑

2012年3月6日 #

某公司面试的2道C语言题+吐槽.

摘要: What I write, what I lost.吐槽下之前YY公司的面试. 此公司的面试一般在周六周日, 面试需要全天. 管中午饭哦.能猜到是什么公司么?先说下此次有关C语言的题目. 以方便想跳过此段或者阅读此段的路人.1.机试. 单链表的反转. 限定30分钟. void* converse(TagList** head); 其他的周边结构体定义, 测试函数, main都已经有啦. 刚才重新写一下. 包括 converse + (周边结构体定义, 测试函数, main). 20分钟.周边:View Code #include <stdio.h>#include <stdl 阅读全文

posted @ 2012-03-06 22:29 幻想完美主义 阅读(646) 评论(0) 推荐(0) 编辑

2012年2月29日 #

简单实现Linux C下的线程池.

摘要: What I write, what I lose.之前有点时间, 重新熟悉Linux的进程间通讯的东西.于是想起之前项目中自己写啦个很简单的线程池.这次想重新写下.主要目的是用进程间或者线程间通信的阻塞/取消阻塞方法实现对线程池线程的等待作业和开始作业.算是对这些代码的一种实践.以上.===================================================================我对一个简单线程池的一些理解.1.创建大量的线程.2.工作线程的执行体功能为: while(1) { //按照一定条件(A)阻塞. //按照任务的参数设置开始执行... 阅读全文

posted @ 2012-02-29 20:03 幻想完美主义 阅读(2158) 评论(1) 推荐(2) 编辑