
C/C++深入解读
Daemon在路上
我是Daemon,一起打怪升级吧,私信一般都会回~
展开
-
【2017.9.29】register、宏定义、fork函数、C源程序
1、register变量:一般用于程序中频繁使用的变量,是存储在CPU寄存器中(reister)的。2、C源程序最基本单位是函数(????不能理解,什么鬼)(详细解析见评论)3、宏定义不检查语法,容易出错,一般用const常亮增强代码健壮性。4.、fork()函数,是对于一个进程创建子进程,返回值不同。 父进程:返回值为子进程pid号 子进程:返回值是0原创 2017-09-29 21:12:42 · 284 阅读 · 1 评论 -
DDos攻击:SYN Flood及应对策略 & ARP攻击
DDos攻击:分布式拒绝服务攻击,是指利用合理的客户端请求来占用过多的服务器资源,从而使得合法用户无法得到服务器的响应。如何实现DDOS攻击:1、利用协议、系统的缺陷 2、具备了海量流量。往往是结合两者实现的。一、SYN Flood攻击产生背景:利用TCP协议特征:利用TCP三次握手协议特征。客户端向服务器发送SYN包时,服务器端建立SYN队列,此时服务器进入半连接状态。服务器端向客户端发...原创 2019-05-08 21:35:13 · 1667 阅读 · 0 评论 -
虚表指针初始化顺序
无继承时:1、分配内存2、初始化列表之前赋值虚表指针3、列表初始化4、执行构造函数体有继承时:1、分配内存2、基类构造过程(按照无继承来)3、初始化子类虚表指针4、子类列表初始化5、执行子类构造函数体Q:虚表指针在初始化列表之前被赋值,可以放在初始化列表之后赋值吗?即顺序是:列表初始化、虚表指针赋值、构造函数体??class B{public: virtual int...原创 2019-04-08 14:15:48 · 589 阅读 · 0 评论 -
细节6:算术右移和逻辑右移
一、对于有符号数 int正数,左移直接丢弃最高位,在低位补对应个数的0;正数,右移直接丢弃最低位,在高位补对应个数的0;负数,左移直接丢弃最高位,在低位补对应个数的0;负数,右移直接丢弃最低位,在高位补对应个数的1;二、对于无符号数 unsigned int左移直接丢弃最高位,在低位补对应个数的0;右移直接丢弃最低位,在高位补对应个数的0,即使最高位原来是1;三、总结算术右移:最...转载 2019-02-17 16:51:52 · 26582 阅读 · 0 评论 -
细节5:递归时内存地址无法访问
递归:循环运行同一段代码,直到结束条件。之前产生的结果保留给之后的函数调用。例如前面产生的数值或者对象。在剑指offer------重建二叉树(https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tqId=11157&tPage=1&rp=1&ru=%2Fta%2Fc...原创 2019-01-14 21:17:31 · 251 阅读 · 0 评论 -
细节4:数组名何时拥有数组特性?何时沦落为普通指针
刨坑原创 2019-01-11 11:36:35 · 228 阅读 · 0 评论 -
细节3:strtok、strtok_s、strtok_r字符串拆分三兄弟
刨坑转载 2019-01-11 10:14:56 · 694 阅读 · 1 评论 -
细节2:字符数组和字符串常量是一样的吗?
写在前面字符串常量和字符数组,平时极易遇到的问题。我在将字符类型的16进制转换为int型十进制时,又遇到这个老朋友。且看一一分解。一、赋值方式不同,长度有区别char a[] = "abc";char b[] = { 'a','b','c' };这两种方式都可以给字符数组赋值。一种使用字符串常量,一种用的单个字符赋值。但实际上,a偷偷带了一个小尾巴’\0’,这是因为字符串常量总是以’\...原创 2019-01-10 21:43:42 · 466 阅读 · 0 评论 -
细节1:文件包含使用条件编译解决多定义错误
写在前面本文是从【Chapter10编程总结】解决multiple definition of `err_ret’问题以及文件包含、条件编译过来的,实践时,遇到apue.h的源码包含error.c文件,则出现大量的重定义,这个问题由来已久,前几天刨下的坑,今天把它埋了。一、条件编译顾名思义,条件编译指的是在某些特定条件下进行编译,满足条件时编译,不满足时不做处理。常见的形式是:#ifnde...原创 2018-12-13 17:14:55 · 493 阅读 · 0 评论 -
架构分析:httpd服务器处理连接流程图
服务器端流程图如下所示:从左到右可分为四部分:1、创建并监听套接字2、获取已建立连接套接字,提取method/url/query_string3、判断是否为cgi脚本(1)否,返回服务器文件至客户端(2)是,执行cgi脚本,将输出数据返回值客户端4、关闭连接,重新监听...原创 2019-06-06 17:16:09 · 785 阅读 · 0 评论