- 博客(139)
- 资源 (1)
- 收藏
- 关注
原创 muduo源码学习base——Exception(带 stack trace 的异常基类)
元素 函数的返回值是实际返回的void。mangle 和 demangle。
2023-10-24 15:06:04
214
原创 C++进阶---异常
异常引入C++异常概念与语法使用异常重新抛出异常安全异常规范自定义异常体系标准库异常exception异常的优缺点引入C语言常见错误处理方式:(传统的错误处理机制:)终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序返回错误码,缺陷:需要程序员自己去查找对应的错误。如系统的很多库的接口函数都是通过把错误码放到errno中,表示错误C 标准库中setjmp和longjmp组合C语言基本都是使用返回错误码的方式处理错误,部分情况下使用终止程序处理非常严重的错误
2022-05-21 15:52:41
137
原创 Linux----网络层 和 数据链路层
网络层和数据链路层1)网络层ICMP协议(略MARK)2)网络层IP协议协议头格式IP报文分片(少数情况)网段划分私有IP和公有IP路由路由表生成算法(MARK)3)NAT技术(MARK)内网穿透(MARK)4)数据链路层以太网以太网帧格式MAC地址MTU (Maximum Transmission Unit)在这里插入图片描述ARP协议ARP数据报的格式ARP协议流程ARP缓存1)网络层ICMP协议(略MARK)ICMP在IP层上层确认IP包是否成功到达目标地址.通知在发送过程中IP包被丢弃的
2022-05-17 15:39:08
525
原创 Linux----网络传输层UDP/TCP
网络传输层UDP/TCP引入再谈端口号端口号划分知名端口号netstat、pidof、killall、ps、 awk、xargs????所有协议需要解决的两个问题:UDPUDP协议段格式UDP缓冲区UDP特点及注意事项基于UDP的协议TCP引入TCP协议段格式32位序号 和 32位确认序号16位窗口大小6位标志位(16位紧急指针)引入再谈端口号端口号标识一个主机上进行通信的不同程序在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组
2022-05-10 15:31:41
1018
原创 Linux----网络应用层HTTP/HTTPS+DNS
网络应用层引入1)HTTP协议URLurlencode urldecodeHTTP协议格式http请求格式http响应格式引入协议是一种 “约定”. socket api的接口, 在读写数据时, 都是按 “字符串” 的方式来发送接收的. 那么如何传输一些"结构化的数据" 呢?例如:结构化的数据转为string可以用jsoncpp,XML等等(方便传输不出错)自定义协议:双方约定好一种结构化的数据应用层协议:只要保证, 一端发送时构造的数据, 在另一端能够正确的进行解析, 就是可以的. 这种约定
2022-05-02 21:17:16
373
原创 Linux----网络编程socket
网络编程socket端口号初识TCP/UDP协议网络字节序socket编程sockaddr结构socket接口代码示例端口号src:ip + src:port <-> dst:ip + dst:port (确定互联网中唯一程序 <-> 确定互联网中唯一程序)端口号(port)是传输层协议的内容:端口号是一个2字节16位的整数;端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理;IP地址 + 端口号能够标识网络上的某一台主机的某一个进程;
2022-04-30 18:09:31
909
原创 高精度模板题----加减乘除
加减乘除高精度加法高精度减法高精度乘低精度高精度除低精度高精度加法题目链接:高精度加法#include <iostream>#include <vector>#include <string>using namespace std;const int N=1e5+10;vector<int> add(vector<int> &a, vector<int> &b){ if(a.size()
2022-04-26 14:17:44
230
原创 浮点数二分模板题---数的三次方根
数的三次方根题目:数的三次方根给定一个浮点数 n,求它的三次方根。输入格式:共一行,包含一个浮点数 n。输出格式:共一行,包含一个浮点数,表示问题的解。注意,结果保留 6 位小数。数据范围:−10000≤n≤10000思路::参见模板:代码如下:#include <bits/stdc++.h> using namespace std;const double esp = 1e-8;//esp是精度,保留6位小数要定义为1e-8,经验int main()
2022-04-25 19:14:10
301
原创 整数二分模板题----数的范围
数的范围题目:数的范围描述:给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。如果数组中不存在该元素,则返回 -1 -1。思路:典型的二分模板题,先找左边第一个目标数字([l,mid],[mid+1,r],mid不用+1),再找右边第一个目标数字([l,mid-1],[mid,r],mid需要+1)代码如下:#include <iostream> using namespace
2022-04-25 17:48:53
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人