摘要: #include <stdio.h>#include <string.h>struct str1{ int a; int b; int c; int d;};main(){ struct str1 aa = {1,2,3,4}; struct str1 bb; memset(&bb,0x00,sizeof(struct str1)); memcpy(&bb.b, &aa.b, sizeof(int) * 3); printf("%d\n", bb.a); ... 阅读全文
posted @ 2012-12-19 11:35 静心小阁 阅读(113) 评论(0) 推荐(0) 编辑
摘要: archlinux+slim+openbox+tint2+feh+thunar+gnome-terminal+gvim+fcitx 阅读全文
posted @ 2012-12-15 17:25 静心小阁 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 最近遇到一个问题:为什么IP中的偏移单位是8B而不是4或16等其他字节?上网查了一下,发现回答往往是RFC的规定,IP的规定,并没有做出实质性的解释。再仔细研究一下IP头中每个字段的含义,终于发现偏移单位定为8B是有其原因的。它是由IP头部格式中的“总长度(16bit)”和“偏移(13bit)”两个字段所决定的。总长度定义了IP包的最大长度为2^16=64KB,偏移说明了IP分片时它最多能表示2^13个偏移单位,这样偏移单位就是2^16/2^13=2^3,即为8B了。如果偏移单位不是8B,如选4B,则13bit的"偏移"就不能表示出IP的最大长度了,而如果选16B,只需要1 阅读全文
posted @ 2012-12-04 17:03 静心小阁 阅读(7057) 评论(0) 推荐(3) 编辑
摘要: 1 #include <stdint.h> 2 #include <string.h> 3 typedef struct{ 4 int a; 5 union{ 6 int b; 7 int c; 8 struct{ 9 int d;10 union{11 int e;12 ... 阅读全文
posted @ 2012-12-04 14:57 静心小阁 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 在Git中‘追踪分支’是用与联系本地分支和远程分支的. 如果你在’追踪分支'(Tracking Branches)上执行推送(push)或拉取(pull)时, 它会自动推送(push)或拉取(pull)到关联的远程分支上.如果你经常要从远程仓库里拉取(pull)分支到本地,并且不想很麻烦的使用"git pull "这种格式; 那么就应当使用‘追踪分支'(Tracking Branches).‘git clone‘命令会自动在本地建立一个'master'分支,它是'origin/master'的‘追踪分支’. 而'ori 阅读全文
posted @ 2012-12-03 11:56 静心小阁 阅读(326) 评论(0) 推荐(0) 编辑
摘要: C语言自增(2012-04-21 09:43:25转载#include <stdio.h>void main(){int a,b,c,d;a=5;b=5;c=(a++)+(a++)+(a++);d=(++b)+(++b)+(++b);printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);}结果是什么?而后Eric搜了一下后发现,类似的问题很多,也就是说对自增自减运算符感到迷惑是一个普遍存在的问题,基于此,Eric决定对自增自减运算符做个小小的解析,希望能给C语言爱好者们提供参考,解决对此问题的困惑。自增自减运算符语法自增运算符 ++ 使 阅读全文
posted @ 2012-12-02 23:10 静心小阁 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 全局变量:gcc下:同名全局变量在同文件 多个文件可以同时存在,但是不能都初始化。多个C源文件有同名全局变量,如果有一个不初始化,就算类型不一样在每个文件中也会以初始化的那一个为准,如果初始化的类型空间比未初始化的类型小,则会报警告:如:int para = 2; long para;Warning: size of symbol `para' changed from 8 in /tmp/ccG7Ghmg.o to 4 in /tmp/ccZWeGEk.o同一文件内类型就必须相等,而且也不能都初始化。cvmx_share_bss:同名全局变量,在同文件内同类型,以初始化的为准。 同名 阅读全文
posted @ 2012-11-28 19:21 静心小阁 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 为了脚本中方便使用sudo 不输入密码加了下面一条:sqm ALL=(root) NOPASSWD: ALL没有效果,后来新建了一个用户然后也加了一句user1 ALL=(root) NOPASSWD:ALL竟然好使,他妈的,这不让人蛋碎了嘛。连个用户所在的分组不同,sqm在ADMIN组下而且 sudo文件中有一句:%admin ALL=(ALL) ALL注释掉:#%admin ALL=(ALL) ALLOK !!! 阅读全文
posted @ 2012-11-22 11:19 静心小阁 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 大小端以及取址方式#include <stdio.h>main(){ int a = 0x12345678; printf("a.addr = %p, a = %x\n", &a, *(&a)); printf("\n"); printf("a0.addr = %p, a0 = %x\n", ((char *)&a), (char)a); printf("a0.addr = %p, a0 = %x\n", ((char *)&a), *((char *)&a)); 阅读全文
posted @ 2012-11-15 18:31 静心小阁 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 变量的定义与声明、初始化。两个文件中声明同名字的int型变量,不包含,加或不加extern。内存:全局初始化区,全局未初始化区。初始化的放在data段,未初始化的放在bss段(初始化为0的也可能放在bss段)/* ------------ cc -c file.c -------------------------------- */int i; /* 全局变量非初始化赋值,默认为0,内存为0 */i = 100; /* warning: data definition has no type or storage class [enabled by default]* 这里说:数据定义没有类 阅读全文
posted @ 2012-11-15 12:25 静心小阁 阅读(222) 评论(0) 推荐(0) 编辑