全部博文(2759)
发布时间:2013-01-15 02:15:37
一、C编程 在网络间进行通信时我们都需要对我们发送的数据进行校验的,一般情况下,大多数都是使用MD5来进行校验。也就是当我们在发送数据时同时把他的MD5校验码一起发过去,当接受到这些数据时,他先调用自己的MD5校验方法来生成刚接收到的数据的校验码,然后和我们发送给他的MD5校验码进行比较看看是否相同,来确定是否需要重新发送数据。这只是自己的个人观点不代表权威说法。先前在网上查过Linux中如何调用关于MD5的函数,也也系统中的找过源代码,但是结果就是没任何结果。有许多博文中写到了调用ssl中关于MD5的函数,仔细看了看方法还算简单,这样就不用自己去写代码实现MD5的算法......【阅读全文】
发布时间:2013-01-08 05:11:53
前面写过一篇北极之北之main函数之前,这篇文章其实解决的问题是main函数并不是第一个执行的函数,在main之前,函数的入口点是_start, _start会调用glibc里的__libc_start_main,main函数只是这个函数的入参。 在__libc_start_main中某一步,会执行main函数。这是上面一篇博文获取到的知识。 前两天,CU的gongping11写了一个博文atexit函数和exit函数的理解,这篇博文提到了atexit可以注册退出函数,在main之后,执行注册退出函数。讲的非常的好,我们......【阅读全文】
发布时间:2013-01-08 05:11:27
C语言的布尔类型 在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示trueint flag;flag = 0;//......flag = 1;if( flag ){//......} 但这种做法不直观,而且没有明确flag一定是布尔值。所以我们又借助C语言的宏定义: //宏定义布尔类型#define BOOL int#define TRUE 1#define FALSE 0//定义一个布尔变量BOOL flag = F......【阅读全文】
发布时间:2012-12-31 10:43:07
1.检测接口的 inet_addr,netmask,broad_addr#include <stdio.h>#include <string.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/ioctl.h>......【阅读全文】