04 2014 档案
摘要:大小端是计算机存储信息的不同方式。大段:内存低地址位存储数据高位,内存高地址位存储数据低位。小端:内存低地址位存储数据低位,内存高地址位存储数据高位。举例,32位系统上 int value = 0x12345678存储在0x0000-0x0003的内存地址上大端:0x0000 : 0x120x000...
阅读全文
摘要:socket学习,用于相应多个客户连接的方法,select和epoll
阅读全文
摘要:这两天继续学习了皓子之前的文章,伙伴分配器的一个简单实现很有意思 http://coolshell.cn/articles/10427.html ,加上之前看了一些关于堆存储的知识,赶紧总结一下加固一下记忆。首先说一下堆的内存申请和释放,在c中大多在系统的应用程序中会使用malloc和free来申请和释放内存,由于malloc和free讲究快速实现申请和释放,因此这两个操作不会去进行多余的检测。在一个应用程序启动后,系统会给它分配一块内存,分别存储着代码段、栈内存、堆内存、静态存储区等。我们假想堆内存是一条线性的很长的内存条,当执行malloc(size)时,malloc会在这条线性区域中寻找
阅读全文
摘要:今晚学习友元函数的时候一点一点的在写一个头文件和一个源文件,中间g++ test.h了一下,无意中就生成了test.h.gch文件。后来修改了头文件的内容,但是不知道为什么一直各种出错,一番折腾之后才发现原来就是gch文件的原因,gch在编译器中不会因为修改了头文件去作更新修改,所以在每一次的编译时...
阅读全文
摘要:在酷客上看到皓子的一篇博文C语言结构体里的成员数组和指针http://coolshell.cn/articles/11377.html感觉非常有意思,刚才突然想到了里面的零长度数组,竟然忘记怎么去实现了。特意写一篇文章巩固一下 1 //零长度数组在结构体中这样表示,之后根据len的大小 2 //动态调整str的长度 3 typedef struct 4 { 5 int len; 6 char s[0]; 7 }str; 8 9 str * CreateStr(int length) {10 if(length len = length;15 memset(St...
阅读全文

浙公网安备 33010602011771号