2013年6月21日

大端小端

摘要: big-endian和little-endian这两个术语来自Jonathan Swift在十八世纪的嘲讽作品Gulliver’s Travels。 Blefuscu帝国的国民被根据吃鸡蛋的方式划分为两个部分:一部分在吃鸡蛋的时候从鸡蛋的大端(big end)开始,而另一部分则从鸡蛋的小端(little end)开始。x86的CPU使用的是LE(Windows中称为“主机字节序”),而SocksAddr中使用的则是BE(就是“网络字节序”),所以在使用网络编程时需要使用htns,htnl,nths,nthl来倒字节序。其实对汇编熟了就清楚了,惨,我的汇编很惨的LE little-endian最 阅读全文

posted @ 2013-06-21 14:04 google_yep 阅读(294) 评论(0) 推荐(0) 编辑

好玩的地图

摘要: http://clustrmaps.com/zh/index.htm再现摄影www.zaixian.net.cn 阅读全文

posted @ 2013-06-21 09:26 google_yep 阅读(116) 评论(0) 推荐(0) 编辑

2013年2月2日

指针、字符串、数组操作

摘要: 1、void test1() { char string[10]; char* str1 = "0123456789"; strcpy( string, str1 ); } 2、void test2() { char string[10], str1[10]; int i; for(i=0; i<10; i++) { str1 = 'a'; } strcpy( string, str1 ); } 3、void test3(char* str1) { ... 阅读全文

posted @ 2013-02-02 17:38 google_yep 阅读(180) 评论(0) 推荐(0) 编辑

2013年2月1日

TCP协议连接过程详解

摘要: 1、建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1. (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3) 客户必须再次回应服务段一个ACK报文,这是报文段3. 2、连接终止协议(四次分手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上... 阅读全文

posted @ 2013-02-01 17:38 google_yep 阅读(1197) 评论(0) 推荐(0) 编辑

程序员笔试知识点整理

摘要: 0、常考基础必知必会A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法;B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别?C. 链表和数组的区别,在什么情况下用链表什么情况下用数组?D. 栈和队列的区别?E. 多态,举例说明;overload和override的区别?F. 字符串有关的函数,比如让你写一个拷贝字符串的函数啊,或者字符串反转啊什么的。strcpy和memcpy?G. 继承、多继承?H. 面向对象有什么好处?I. 说说static的与众不同之处,如果一个变量被声明为static,它会被分配在哪里?在什么时候分配空间等?J. 什么是虚函数、纯 阅读全文

posted @ 2013-02-01 15:17 google_yep 阅读(1205) 评论(1) 推荐(0) 编辑

【转载】C++面试资料之问答题集合(找工作复习)

摘要: http://blog.csdn.net/tianmo2010/article/details/68201691.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration),被extern "C"修饰的变量和函数是按照C语言方式编译和 阅读全文

posted @ 2013-02-01 14:40 google_yep 阅读(274) 评论(0) 推荐(0) 编辑

字符串转换为数字(str2int)

摘要: // 将字符串转换为数字int str2int(char *s){ if (s==NULL) return 0; int temp=0; int vl=0; bool flag=false; while(*s!='\0') { if (*s=='-') { flag=1; s++; } temp = *s-'0'; vl = vl*10+temp; s++; } return flag==true ? -vl:vl;} 阅读全文

posted @ 2013-02-01 14:35 google_yep 阅读(236) 评论(0) 推荐(0) 编辑

将数字转换为字符串(int2str)

摘要: // 将数字转换为字符串char* int2str(int n, char* s){char temp[32];int i=0;int j=0;while (n>0){temp[i++] = n%10;n=n/10;}while(i--){s[j++]=temp[i]+'0'; //整数+可转换为字符}s[j]='\0';return s;}//‘0’对于ASCII码表数值 48// 如 char c = 2+'0'; 2+48=50, c 对应ASCII表是 50 阅读全文

posted @ 2013-02-01 14:30 google_yep 阅读(389) 评论(0) 推荐(0) 编辑

导航