随笔分类 - c语言
摘要:1.这几天研究skynet中的 lua-netpack.c 中的解析数据包过程。于是把lua部分去掉,修改了一些接口,留下解包相关的代码。再结合云风写的网络代码的例子, 写了一个最简单形式的客户端封包,服务器解包的代码,作为学习笔记的同时也希望能够帮助一些像我一样的新手学习理解封包,解包的概念。 p
阅读全文
摘要:1.今天看到两个不错的位运算,一个是判断一个整数是否是2的n次幂,另一个是将一个非2的n次幂整数,经转变得到大于该数的2的n次幂整数。 2.判断一个整数是否是2的n次幂. 该方法利用了若一个数x为2的n次幂(n >= 0)则一定有 x & (x - 1) = 0. 3.将一个非2的n次幂整数,经转变
阅读全文
摘要:1.问题描述:找出数列中唯一一个出现一次的数,其余得数都出现两次。 分析: 1)最笨的方法当然是穷举了: 2)异或操作 (^): 性质: 0 ^ 0 = 0, 1 ^ 1 = 0, 0 ^ 1 = 1, 0 ^ A = A; 总结起来就是按位异或 相同为0,不同为1。 这样一来明显得出,相同的俩个数
阅读全文
摘要:1.最近看一些开源项目代码时,总会看到 c 语言中一些 "str" 开头的处理字符串的用法,有的之前没用到过,特此记录,随时看到随时添加。 这里不提出源码,只是一些使用说明加例子: 1).unsigned long int strtoul(const char *nptr, char **endpt
阅读全文
摘要:1. 读代码时遇了的疑惑点: 这是一段创建协议无关的监听套接字的代码,其中有三处用到了 goto 语句,由于前边调用了 getaddrinfo(...)函数,该函数会自动申请内核的空间,所以需要在结束后调用 freeaddrindo(...)来释放空间. 但是当读到 goto _failed 时,产
阅读全文

浙公网安备 33010602011771号