C/C++
ZhouYates
擅长基于DPDK的高性能虚拟网络设计和性能优化,熟悉DPDK/OVS/VPP等源码。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言实现AES(标准方法)
代码位置:https://github.com/MarginC/AES支持128bit/192bit/256bit加密,已通过测试,跟标准实现结果一致。原创 2015-05-17 00:02:59 · 27022 阅读 · 0 评论 -
GNU-C MAX宏写法
#define MAX(x,y) ({ \ typeof(x) _x=(x);typeof(y) _y=(y); \ &_x==&_y; \ _x>_y?_x:_y; \})转载 2015-05-10 20:19:15 · 807 阅读 · 0 评论 -
C宏定义#和##的用法
1、#是用来把变量名转换为字符串的,例如:#define print(val) printf(#val"=%d\n", val)int main(){ int a = 14; print(a); return 0;}通过预编译:gcc -E test.c -o test.i得到结果:int main(){ int a = 14; pri原创 2015-07-22 14:50:11 · 543 阅读 · 0 评论 -
Memcached源码分析(二)-jenkins hash函数
通过启动时的-o hash_algorithm可以配置memcached的hash算法,支持两种算法:jenkins, murmur3,默认是jenkins。原创 2015-05-12 20:18:53 · 2467 阅读 · 0 评论 -
Memcached源码分析(一)-建立守护进程
memcached版本为1.4.18 由易到难:分析daemon进程的创建。daemon.c原创 2015-05-12 20:27:30 · 1155 阅读 · 0 评论 -
大端序、小端序union分析
对于多字节基本数据类型(short、int、long、float、double): 大端序:数据低位保存在内存的高地址,数据高位保存在内存的低地址; 小端序:数据低位保存在内存的低地址,数据高位保存在内存的高地址;在x86 32位环境下,一种更直观的观察方法,定义一个union数据:union data原创 2015-05-11 16:14:55 · 980 阅读 · 0 评论 -
mktime设计原理分析
代码分析很多,这里不细讲,着重分析其中一些设计技巧:static inline unsigned long mktime (unsigned int year, unsigned int mon, unsigned int day, unsigned int hour, unsigned int min, unsigned int sec){ if (0 >= (in原创 2015-04-30 10:23:53 · 1568 阅读 · 0 评论 -
源码分析之tinyhttpd(一)
tinyhttpd是一个十分简单的http多线程服务器,通过详细分析500行左右的代码,对http请求和响应有一个简单的理解。http://sourceforge.net/projects/tinyhttpd/首先,从main函数开始:int main(void){ int server_sock = -1; u_short port = 0; int client原创 2015-03-16 19:56:34 · 795 阅读 · 0 评论 -
无警告C语言编译断言
方法一:#ifndef STATIC_ASSERT#define STATIC_ASSERT(exp) ((void)sizeof(struct{int:-!(exp);}))#endif方法二:#ifndef STATIC_ASSERT#define STATIC_ASSERT(exp) ((void)sizeof(char[(exp)?1:-1]))#endif方法...原创 2015-09-10 15:11:39 · 855 阅读 · 0 评论
分享