- 博客(36)
- 问答 (1)
- 收藏
- 关注
原创 h.gch: file not recognized: file format not recognized
文章目录出错常景:错误提示:前情提示出错常景:使用gcc编译静态库和动态库我想将一些.c .h 文件经过汇编、动态链接,生成一个可执行文件错误提示:(在生成静态库时,我将.h.gch文件利用ar命令放入了静态库文件(.o)文件,并没有提示这类错误)(该错误发生在生成静态库之间,此时我将head.h单独列出来,其中放了一些#include命令)‘head.h.gch: file not recognized: file format not recognized’前情提示首先将一些分散开的
2022-05-24 21:42:10 1535 2
原创 虚拟 函数的异常规范与重写 函数 “std::exception::what“ 的异常规范不兼容
Linux上重写std::exception提示异常规范不兼容(Visual Studio上正常)解决:在const函数声明后加上noexcept override原因:C++11以后带来的限制:https://en.cppreference.com/w/cpp/error/exception/what参考原回答:https://stackoverflow.com/questions/35763027/looser-throw-specifier-for-virtual-const-char
2022-05-20 22:16:33 2132
原创 C++ 类中静态函数不能访问非静态变量
文章目录类中静态函数不能访问非静态变量全局变量(**其他文件想使用,通过extern关键字将其链接**)static局部变量(**类中静态局部变量,想在本文件全局中使用,需要先在本文件全局中声明**)类中静态函数不能访问非静态变量全局变量(其他文件想使用,通过extern关键字将其链接)static局部变量(类中静态局部变量,想在本文件全局中使用,需要先在本文件全局中声明)参考:Cherno C++ 21~23 static相关部分...
2022-05-07 20:53:23 448
原创 生成Sip包
文章目录下载Microsip:注册SIP账号:打开MicroSIP 配置SIP账号捕捉SIP流下载Microsip:MicroSIP:https://www.microsip.org/downloads注册SIP账号:http://serweb.iptel.org/user/reg/index.phptimezone:默认即可phone:应该可以随便写,我填的自己的手机号,但没有用到,因为sip是通过后面生成的账号来标识的填好后点击注册,会收到邮件,然后去邮件确认就注册完成了。打开
2022-04-10 19:39:00 651
原创 C/C++:Ubuntu20.04报错:无法打开mysql/mysql.h
头文件缺失,使用:sudo apt-get install libmysql++-dev
2022-04-01 13:58:13 3373
原创 简单signal
搞点薯条.jpg#include<iostream>#include<signal.h>#define IPv4using namespace std;static void hand_event(int sig){ cout<<"别这样老兄,我们不如去码头抢点薯条."<<endl;}int main(){ signal(SIGINT,hand_event); getchar(); return 0;}
2022-03-22 21:28:17 146
原创 TCP/IP网络编程笔记-ch18.多线程服务器端的实现
文章目录函数线程创建定义:使用:让线程的进程等待定义使用补充回收进程 pthread_join取消进程 pthread_cancel结束进程 pthread_exit线程区存在问题和临界区互斥量创建、销毁互斥量利用互斥量锁住或释放临界区使用的函数利用互斥量的例子信号量信号量创建与销毁修改信号量值利用信号量的例子线程的销毁销毁线程的3种方法pthread_detach多线程并发服务器端的实现chat_server.cchat_clnt.c知识点为什么使用线程实例函数线程创建定义:#include &l
2022-03-21 21:25:12 3032
原创 make: *** Is a directory. Stop(文件夹名含有空格导致的错误)
文章目录错误:解决错误:/Users/*******/Desktop/pjproject-master: Is a directory. Stop是因为我把放置在桌面的该文件夹命名为’pjproject-master for macos’,导致其makefile的路径名中含有空格,导致错误(因为makefile行尾不能有空格)(这里桌面的文件夹名字原本是有空格以及for macos的,但我已经把它改成把后面的’ for macos’去掉了)解决要不就重新配置,把文件夹名改成不含空格的。或
2022-03-20 21:27:27 5420 1
转载 epoll
文章目录头文件epoll概念epoll_createepoll_ctlepoll_waitET与LT模式头文件#include <sys/epoll.h>epoll概念epoll是Linux特有的I/O复用函数。它在实现和使用上与select、poll有很大差异。epoll使用一组函数完成任务而非单个函数。epoll把用户关心的文件描述符上的事件放在内核中的一个事件表中,无须像select和poll那样每次调用都要重复传入文件描述符或事件集。但epoll需使用一个额外的文件描述符,来标
2022-03-19 15:54:01 227
原创 socket类的初步利用
文章目录类包装socket服务器端客户端运行类包装socket#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#include<string>class My_Socket{ public:
2022-03-15 23:08:54 341
原创 《计算机网络》(第8版)第六章 应用层 知识点总结
文章目录1.DNS的基本概念、作用,域名服务器种类,域名查询的方式及解析过程基本概念、作用域名服务器种类域名查询的方式及解析过程2.FTP的基本概念及两个连接机制FTP的基本概念两个连接机制3.万维网的基本概念,URL的格式,HTTP连接方式、访问响应时间万维网的基本概念URL的格式HTTP连接方式、访问响应时间HTTP/1.0HTTP/1.1HTTP/2协议4.电子邮件系统的构成、协议,SMTP通信的三个阶段电子邮件系统的构成电子邮件系统的协议SMTP通信的三个阶段连接建立邮件传送连接释放5.DHCP配置
2022-02-28 18:03:40 4177
原创 《计算机网络》(第8版)第五章 运输层 知识点总结
文章目录1.运输层的地位,UDP和TCP的特点,提供的功能运输层的地位UDP和TCP的特点,提供的功能UDPTCPTCP的连接2.TCP数据报格式,各字段的含义及作用TCP报文段的首部格式3.TCP发送窗口机制超时重传时间的选择选择确认SACK4.TCP确认机制5.TCP连接建立TCP的连接建立6.TCP的拥塞控制算法及应用拥塞控制的一般原理TCP的拥塞控制方法慢开始与拥塞避免快重传与快恢复1.运输层的地位,UDP和TCP的特点,提供的功能运输层的地位从通信和信息处理的角度看,运输层向它上面的应用层提
2022-02-28 17:49:54 4392
原创 《计算机网络》(第8版)第四章 网络层 知识点总结
文章目录1.互联网提供的两种服务方式及特点1.1.虚电路服务和数据报服务的对比1.2.互联采用的设计思路2.网络互联的概念、设备、层次、协议2.1.网际协议IP(Internet Protocol)3.分类的IP的网络数、主机数、掩码、网络地址3.1.IP地址及其表示方法3.2.分类的IP地址4.CIDR的基本概念及应用(路由聚合、地址块分配、最大地址、最小地址、地址数、掩码等)。与分类的IP地址的对应关系CIDR的基本概念地址块、最大地址、最小地址:地址掩码地址数路由聚合5.IP数据报格式,各字段的含义及
2022-02-28 17:44:02 5560
原创 TCP/IP网络编程笔记-ch11.进程间通信
文章目录函数创建管道知识点进程间通信的基本概念对进程间通信的基本理解通过管道实现进程间通信实例函数创建管道#include<unistd.h>@param filedes[0]:通过管道接收数据时使用的文件描述符,即管道出口@parma filedes[1]:通过管道传输数据时使用的文件描述符,即管道入口int pipe(int filedes[2])//成功返回0.失败返回-1以长度为2的int数组地址符作为参数调用上述函数,数组中存有两个文件描述符,它们被作为管道的出口和
2022-02-02 17:31:11 2065
原创 TCP/IP网络编程笔记-ch10.多进程服务器端
文章目录函数创建进程销毁僵尸进程1 wait销毁僵尸进程2 waitpid注册信号signal函数alram函数信号处理函数sigaction知识点进程概念及应用并发服务器端的实现方法进程**进程****进程ID**"通过fork函数创建进程"进程和僵尸进程产生僵尸进程的原因销毁僵尸进程1:利用wait函数销毁僵尸进程2:利用waitpid函数信号处理向操作系统求助信号与signal函数基于多任务的并发服务器基于进程的并发服务器模型通过fork函数复制文件描述符分隔TCP的I/O程序分隔I/O程序的优点实例
2022-02-02 17:28:43 1695
原创 TCP/IP网络编程笔记-ch9.套接字的各种可选项
文章目录函数对套接字的可选项进行读取设置套接字的可选项知识点套接字可选项和I/O缓冲大小SO_REUSEADDRTime-waitTCP_NODELAYNagle算法实例函数对套接字的可选项进行读取#include<sys/socket.h>@param sock:用于查看选项套接字文件描述符@param levl:要查看的可选项的协议层@param optname:要查看的可选项名@param optval:保存查看结果的缓冲地址值@param optlen:向第四个参数op
2022-01-18 17:39:48 1246
原创 TCP/IP网络编程笔记-ch8.域名及网络地址
文章目录函数利用域名获取IP地址利用IP地址获取域名知识点域名系统IP地址和域名之间的转换实例函数利用域名获取IP地址利用gethostbyname可以通过传递字符串格式的域名获取IP地址。#include<netdb.h>@param hostname:目的域名struct hostent * gethostbyname(const char * hostname);//成功返回hostent结构体地址,失败返回NULL指针struct hostent{ char
2022-01-18 17:37:34 1249
原创 TCP/IP网络编程笔记-ch7.优雅地断开套接字连接
文章目录函数半关闭的shutdown函数知识点单方面的断开带来的问题套接字和流为何需要半关闭实例函数半关闭的shutdown函数#include<sys/socket.h>@param sock:需要断开的套接字文件描述符@param howto:传递断开方式信息int shutdown(int sock,int howto);//成功时返回0,失败返回-1howto值断开连接方式SHUT_RD断开输入流SHUT_WR断开输出流SHUT_R
2022-01-12 21:31:41 604 2
原创 TCP/IP网络编程笔记-ch6.基于UDP的服务器端/客户端
文章目录函数UDP的发送数据UDP的接收数据UDP特点UDP与TCPUDP客户端套接字的地址分配UDP的数据传输特性UDP调用connect函数实例函数UDP的发送数据#include<sys/socket.h>@param sock:用于传输数据的UDP套接字文件描述符@param buff:保存在待传输数据的缓冲地址符@param nbytes:待传输的数据长度,字节为单位@param flags:可选项参数,没有则传递0@param to:存有目标地址信息的sockadd
2022-01-12 21:30:58 325
原创 TCP/IP网络编程笔记-ch5.基于TCP的服务器端 客户端
文章目录知识点数据传输TCP原理TCP套接字中的I/O缓冲TCP三个内部工作原理1.与对方套接字的连接2.与对方主机的数据交换3.断开与套接字的连接实例知识点数据传输客户端连接到服务器端后以1字节整数形式传递待算数字个数客户端向服务器端传递的每个整数型数据占用4字节传递整数型数据后接着传递运算符。运算符占用1字节选择字符+、-、*之一传递服务器端以4字节整数型向客户端传回运算结果客户端得到运算结果后终止与服务器端的连接因为以4字节整数型为单位进行数据传递,所以op_client.c中:#
2022-01-12 21:29:56 595
原创 TCP/IP网络编程笔记-ch4.基于TCP的服务器端 客户端
文章目录函数进入等待连接请求状态受理客户端连接请求客户端请求连接TCPTCP服务器端的默认函数调用顺序:TCP客户端的默认函数调用顺序基于TCP的服务器端/客户端函数调用关系实例函数进入等待连接请求状态#include<sys/socket.h>@param sock:希望进入等待连接请求状态的套接字文件描述符,传递的描述符套接字参数成为服务器端套接字(监听套接字)@parmam backlog:连接请求等待队列(Queue)的长度,若为5,则队列长度为5,表示最多使5个连接请求进入队
2022-01-12 21:29:07 470
原创 TCP/IP网络编程笔记-ch3.地址族与数据序列
文章目录函数地址信息结构sockaddr_in结构sockaddr_in成员分析sin_family:sin_port:sin_addr:sin_zero:网络字节序与地址变换网络字节序地址变换网络地址的初始化和分配inet_addrinet_atoninet_ntoa网络地址初始化实例函数//主机字节序与网络字节序的转换unsigned short htons(unsigned short);unsigned short ntohs(unsigned short);unsigned long h
2022-01-08 16:30:47 552
原创 TCP/IP网络编程笔记-ch2.套接字类型与协议设置
函数创建套接字:#include<sys/scoket.h>@param domain:套接字中使用的协议族(Protocol Family)信息@param type:套接字数据传输类型信息@param protocol:计算机简介通信中使用的协议信息int socket(int domain,int type,int protocol);//成功返回文件描述符,失败返回-1domain协议族:domain值协议族PF_INETIPv4互联网协议族
2022-01-08 16:29:32 328
原创 TCP/IP网络编程笔记-ch1.理解网络编程和套接字
文章目录函数服务器创建套接字:为套接字分配地址:将套接字转化成可接受连接状态:接收连接:接收连接的套接字创建过程:客户端请求连接:文件操作打开文件关闭文件数据写入文件实例函数服务器创建套接字:#include<sys/socket.h>int socket(int domain,int type,int protocol)//成功返回文件描述符,失败返回-1为套接字分配地址:#include<sys/socket.h>int bind(int sockfd,str
2022-01-08 16:28:15 572
原创 《计算机网络》(第8版)第二章 物理层 知识点总结
文章目录1.物理层接口的基本特性2.香农公式,信道中的极限信息传输速率和带宽及信噪比的关系2.2.信道中的极限信息传输速率和宽带及信噪比的关系2.2.1.与带宽的关系2.2.2.与信噪比的关系3.物理传输介质的分类(导引、非导引)及导引型传输介质的特性3.1.物理传输介质的分类3.2.导引型传输介质的特性4.通信的三种基本方式(单向通信、双向交替通信、双向同时通信)4.1.单向通信4.2.双向交替通信4.3.双向同时通信5.信道复用技术的种类及其主要特征(FDM、TDM、WDM、CDMA)5.1.FDM&a
2022-01-08 13:12:06 1697 1
原创 《计算机网络》(第8版)第三章 数据链路层 知识点总结
文章目录1.数据链路层的三个基本问题1.1.封装成帧(framing)1.2.透明传输1.3.差错检测1.3.1.**循环冗余检验CRC**(Cycle Redundancy Check)1.3.2.**FCS计算图**2.点到点协议PPP及其透明传播的实现(同步传输)2.1.PPP协议应满足的需求2.2.PPP协议的组成2.3.PPP协议的帧格式2.3.1.各字段的意义2.3.2.字节填充2.3.3.**零比特填充[其透明传播的实现(同步传输)]**3.差错检测技术(CRC)4.局域网的拓扑类型、特点等4
2022-01-01 16:37:12 3111
原创 《计算机网络》(第8版)第一章 概述 知识点总结
文章目录1.计算机网络的概念和分类1.1.计算机网络的定义1.2.计算机网络的分类1.2.1.按网络的作用范围进行分类1.2.2.按网络的使用者进行分类1.2.3.用来把用户介入到互联网的网络2.互联网的组成,两个重要基本特点,边缘部分端系统的两种通信方式(C/S、P2P)2.1.互联网的组成2.1.1.边缘部分2.1.2.核心部分2.2.互联网的两个重要基本特点2.2.1.连通性2.2.2.共享2.3.边缘部分端系统的两种通信方式2.3.1.客户-服务器方式(C/S)2.3.1.1.客户程序2.3.1.2
2021-12-29 18:51:37 4891 1
原创 javaweb:Servlet与JavaBean信息传递
文章目录1.0 流程1.1 JavaBean结构1.2 Servlet获取参数并封存在JavaBean结构中1.3 放入request.getsession并发送到jsp文件1.4 jsp导入JavaBean文件并获取对象1.5 参考网站1.0 流程1.Servlet从request获取参数2.将它们封存在JavaBean建立的结构中3.将这个结构放入request.getsession()中命名为bean 将request发送到另一个jsp文件4.该文件首先导入JavaBean文件 然后建立一个
2021-11-25 19:16:46 1350
原创 将TXT文件中连续空格转变为换行符(C++)
1.原因下了本小说发现它的格式是不正常的,本来应该是换行符的地方全都是空格,显得特别的密集,我就想把它的连续空格全变成行,看着会舒服一点,但是没有发现类似的实现,就用C++写了一个,很简单,有需要的可以用.2.代码#include<iostream>#include<string>#include<fstream>using namespace std;int main(){ string filename; fstream inFil
2021-08-13 14:49:38 2230 2
原创 《机器学习》——BP算法及式5.13的推导
BP算法及式5.13的推导注:部分术语并不标准,仅是便于理解使用文章目录BP算法及式5.13的推导1.概念2.模型2.1.参数解释3.分类:3.1标准BP算法3.2.累积BP算法4.BP与过拟合4.1.解释4.2.解决方法:4.2.1.早停4.2.2.正则化5.迭代过程6.式(5.13)的推导1.概念误差逆传播(error BackPropagation,简称BP)算法是用于训练多层网络的学习算法中最杰出的代表,它是迄今为止最成功的神经网络学习算法。通常说BP网络时,指的是用BP算法训练的多层反馈
2021-07-22 17:41:35 670
原创 C++ Vector的用法 附带演示代码 (注释有代码详细介绍)
C++ Vector的用法 附带演示代码 (注释有代码详细介绍)一.常用函数1.1放入元素1.2.删除元素1.3.取出元素个数1.4.取出某位置元素1.5.删除**迭代器**指向的元素1.6.判断矢量是否为空1.7.清空矢量中所有元素1.8.指向第一个元素的迭代器1.9.指向最后一个元素的迭代器1.10.插入元素到矢量中指定位置1.11.调整矢量大小二.常用算法2.1.排序算法2.2.查找算法三.演示代码。一.常用函数头文件:#include<vector>一.常用函数:1.1放入元素
2021-04-29 00:16:06 307
原创 C++ set的用法 附带演示代码 (注释有代码详细介绍
演示代码:#include<iostream>//看了C++标准库后发现 set与Multiset 基本上是绑在一起的//set:不允许有重复元素,自动元素排序//Multiset:允许有重复元素,自动元素排列//两者通常以平衡二叉树完成//头文件(两者的头文件均为set)#include<set>using namespace std;void show(set<int>a){ int feed = 1;//换行用 //se
2021-04-18 18:02:32 434 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人