摘要: 答:(1)握手 1. 第一次握手:主机A发送握手信号syn=1和seq=x(随机产生的序列号)的数据包到服务器,主机B由SYN=1知道,A要求建立联机; 2. 第二次握手:主机B收到请求后要确认联机信息,向A发送syn=1,ack=x(x是主机A的Seq)+1,以及随机产生的确认端序列号seq=y的 阅读全文
posted @ 2018-05-31 18:05 j_shuang 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1、协程 答:定义:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种 阅读全文
posted @ 2018-05-31 17:58 j_shuang 阅读(128) 评论(0) 推荐(0) 编辑
摘要: C的内存基本上分为4部分:静态存储区、堆区、栈区以及常量区。他们的功能不同,对他们使用方式也就不同。 在C++中内存分成5个区,分别是堆、栈、全局/静态存储区、常量存储区和代码区; 1、栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区,里面的变量通常是局部变量、函数参数等。 阅读全文
posted @ 2018-05-31 17:51 j_shuang 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1、DLL: DLL是Dynamic Link Library 的简称,它是一个包含可由多个程序同时使用的代码和数据的库,是不可执行文件,懂爱链接提供了一种方式,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分 阅读全文
posted @ 2018-05-30 10:23 j_shuang 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 1.虚函数表是全局共享的元素,即全局仅有一个. 2.虚函数表类似一个数组,类对象中存储vptr指针,指向虚函数表.即虚函数表不是函数,不是程序代码,不肯能存储在代码段. 3.虚函数表存储虚函数的地址,即虚函数表的元素是指向类成员函数的指针,而类中虚函数的个数在编译时期可以确定,即虚函数表的大小可以确 阅读全文
posted @ 2018-05-30 09:37 j_shuang 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1、Http接口中Get 和 Post 区别: GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连。 Get提交的数据大小有限制,最多只能有1024个字节,而Post没有限制。 GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Req 阅读全文
posted @ 2018-05-29 17:24 j_shuang 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 1、new 、 delete 、 malloc 、 free 的区别与关系? new / delete 是C++的运算符,malloc / free 是C的标准库函数。 new会调用对象的构造函数,delete会调用对象的析构函数。它们都可用于动态申请内存和释放内存。 对于非内部数据类型的对象而言, 阅读全文
posted @ 2018-05-20 13:05 j_shuang 阅读(260) 评论(0) 推荐(0) 编辑
摘要: C语言跟内存申请相关的函数主要有 alloca,calloc,malloc,free,realloc,sbrk等. 函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。 malloc()函数有一个参数,即要分配的内存空间的大小: void *malloc(size_t 阅读全文
posted @ 2018-05-20 13:05 j_shuang 阅读(611) 评论(0) 推荐(0) 编辑
摘要: Win7移除超时的钩子不是bug,而是win7中为了保护系统而故意的行为,因为安装了全局钩子后,所以消息都要经过这个钩子,并且等待钩子过程执行结束或者钩子达到超时时间才能处理其他的响应,严重影响性能。其实在vista中已经加入了一些保护措施,但不是很充分,所以在win7加入了当底层钩子多次超时时,就 阅读全文
posted @ 2018-04-19 11:46 j_shuang 阅读(209) 评论(0) 推荐(0) 编辑