- 博客(12)
- 收藏
- 关注
原创 contiki之知识储备1:达夫设备(duff's device)
概述上个世纪80年代突然出现下面这么一段程序switch (count % 8) { case 0: do { *to++ = *from++; case 7: *to++ = *from++; case 6: *to++ = *from++;
2013-04-15 20:20:17
1272
转载 二进制反码求和
本文转载自:http://blog.sina.com.cn/s/blog_438414c9010090vj.htmlIP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,算法如下: 在发送数据时,为了计算数IP据报的校验和。应该按如下步骤: (1)把IP数据报的首部都置为0,包括校验和字段。 (2)把首部看成以16位为单位的数字组成,依次
2013-04-13 18:57:08
6657
1
原创 buffer与struct的转换
buffer就是一系列的01,对于程序员来说一点用处都没有,而struct是C程序员的一把利器之一,之所以是利器,因为可以利用struct直接操纵buffer,比如拿到一个以太网的数据包,我们如何处理?如果没有struct的话,我们只能用指针小心翼翼的偏移依次取每个字段。大概应该是这样的。unsigned char dest[6];unsigned char src[6];unsign
2013-04-13 14:56:27
3046
原创 数据结构存储方式(C语言)
引言C语言的精粹是程序要可以随意操纵自己程序空间的任意内存,从这方面来说,C语言编程算是面向机器的编程。那么,熟悉C的数据如何存储就是显得很重要了。本篇内容就是记录自己探索C语言的数据结构在内存如何存储的过程。结论只在下面条件下得到验证:操作系统位数:32编译器:gcc version 4.6.3(ubuntu)mingw32-gcc数据存储方式:小端存储大
2013-04-12 19:20:57
2543
原创 ubuntu使用tap/tun
最近在研究TCP/IP协议的实现,实验平台的搭建需要利用比较多的网卡,tap和tun是个不错的选择。但是在ubuntu中使用简单地挂载tun模块ioctl启动设备之后还是不能使用tap/tun。接着google之后终于找到一个解决方法:安装tunctl创建一个接口就好了1.下载tunctl,解压make & make install2.sudo ./tunctl -u root -t ta
2013-04-11 16:47:57
3496
转载 wget详解
本文转载自:http://linux.blogbus.com/logs/46636997.html前言wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的
2013-03-22 22:33:11
839
原创 linux mount命令和/etc/fstab文件
1.mount命令基本的命令格式mount [-t vfstype] [-o options] device dir其中-t vfstype自己man手册比较好理解而-o opthions 选项主要有下面三个loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备iocharset:指定访问文件系统所用字符集
2013-03-22 22:25:38
1417
原创 LINUX重定向基础
基本命令cat:把文件内容读取到标准输出中sort:排序文本行uniq:忽略或者报告重复行wc:统计文件的行数、词数、字节数grep:打印匹配制定模式的行head:输出文件的头部tail:输出文件的尾部tee:从标准输入读,并往标准输出或者文件写重定向ls >ls.txt重定向输出到ls.txtls >>ls.txt追加重定向到ls.txt对于重定向
2013-01-26 10:08:12
657
原创 搜狗输入法高级使用
现在基本上很多人都使用智能输i入法了吧,搜狗输入法应该是比较多人使用的一个输入法吧。搜狗输入法是长期滞留在我们的操作系统中间的,所以,充分利用它的功能可以帮助我们的系统瘦身,而且他是一个产品,凝结了开发者的心血,如果我仅仅使用了一些他最基本的微软拼音的输入功能,那么未免太对不起一个常驻系统托盘的程序吧,而且它切实有很多好玩实用的功能,且听我慢慢道来~~首先,我们进入搜狗输入法的设置界面,这里面
2012-11-17 14:46:21
2288
原创 linux不带缓冲文件IO
本博文设计的IO不属于ANSI C的文件IO,所涉及的每一个函数都是一个系统调用。主要涉及POSIX.1的不带缓存的IO操作的基础部分。1.文件描述符在linux内核中,对于一个文件的描述只需要一个标示符即可。而不是一个复杂的指针,仅仅是一个int型的整数,有文件描述符可以直接通过系统API直接操作内核资源,换句话说,下面的所有操作API都会产生一个系统调用。这样说来,int的大小就限
2012-11-12 22:29:43
777
原创 csocket的多线程接收数据
csocket是MFC 的一个较高级的一个封装类。虽然封装了很高层,但是封装地不科学,灵活使用它是一个技术活。csocket自带的一些消息响应,比如onRecieve,onConnect等待,都是使用一些循环读取来封装,这样,当我们写多线程读取的时候就会出现很多问题。比如在onRecive中启动新的线程来接收这些数据,但是如果单单把csocket指针传送给子线程的时候,如果接收的数据多的话,那么就
2012-11-03 12:55:23
1896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人