- 博客(55)
- 收藏
- 关注
原创 WireShark
查询udp从第8个字节开始连续2个字节内容是4211的包,udp[8:2] == 4211。查询发往端口0x5544的数据 udp.dstport == 0x55444。查询源自端口0x3956的数据 udp.srcport == 0x3956。查询发送给设备的所有包:ip.dst == 192.168.41.144。查询PC发送的所有包:ip.src == 192.168.41.103。1、 重传命令的长度是62, Frame.len == 62。指定udp从第A个字节开始的连续B个字节内容。
2023-04-07 20:12:13 792
原创 Windows 启动问题
请使用 sxstrace.exe 进行详细诊断。考培此库到运行目录下,重新link。事件查看器,windows程序日志。
2023-03-30 12:54:04 243
原创 源码编译Qt webengine模块
参考:https://blog.csdn.net/weixin_51240551/article/details/125726052。添加gunwin32环境变量 主要是添加bison.ext, gperf.ext, flex.exe,建立文件夹build。
2023-03-24 22:34:01 627
原创 2021-08-21
租房日记今天跟21世纪一凡恒泰物业中介租了房子,总结一下此次租房的教训首先6,7月份千万不要去租房子,天气热,房子也不多,相当不好租房。能先在目前住的地方租着就不要乱动弹。。跟中介租房,他们有一个报价, 这个不是最终的价格,是可以谈的。还有中介费听说也是可以谈的,一般是8折好像,我这次一紧张就忘了说了。还有租房千万不能慌,中介们可能各种理由给你造成房源紧缺的假象,这次没看好就下一次。 我这次是吃了6,7月份找房子难的亏了。不要急着直接签合同,可以先交个定金。这个也重要。 给自己留一个余地记
2021-08-21 19:13:20 98
转载 重学计算机网络(二) - 曾记否,查IP地址
先献上几个梗1.1.1.1 不是测试用的,原来一直没分配,现在被用来做一个DNS了,宣传是比谷歌等公司的dns服务更保护用户隐私。IP地址255.255.255.255,代表有限广播,它的目标是网络中的所有主机。IP地址0.0.0.0,通常代表未知的源主机。当主机采用DHCP动态获取IP地址而无法获得合法IP地址时,会用IP地址0.0.0.0来表示源主机IP地址未知。NID不能以数字127开头。NID 127被保留给内部回送函数,作为本机循环测试使用。例如,使用命令ping 127...
2020-07-09 16:39:59 318
转载 重学计算机组成原理(八)- 程序的装载
比尔·盖茨在上世纪80年代说的“640K ought to be enough for anyone”也就是“640K内存对哪个人来说都够用了”那个年代,微软开发的还是DOS操作系统,程序员们还在绞尽脑汁,想要用好这极为有限的640K内存而现在,我手头的Mac Book Pro已经是16G内存了,上升了一万倍还不止。那比尔·盖茨这句话在当时也是完全的无稽之谈么?有没有哪怕一点点的道理呢?这一讲里,我就和你一起来看一看。1 程序装载的挑战在运行这些可执行文件的时候,我们其实是通过一个装...
2020-07-09 16:14:13 347
原创 c++友元
友元函数 一个类如果将对其非公有成员的访问权限授予一个函数,则此函数被称为友元函数友元类 一个类如果将对其非公有成员的访问权限授予一个类,则这个类被称为友元类注意一点的是要想访问类里面的私有数据成员就必须有类的对象
2015-09-28 19:54:51 286
原创 模板(泛型)
函数模板 函数模板并非函数,而是一个模子,在编译阶段根据他生成一个确定的模版函数这才是真正能用的函数。形式: template int fun(virtual_name a, double size) {}特化的前提是有普通模板#include <iostream>using namespace std;//函数模板的定义形式template<typename T>T s
2015-09-22 20:23:58 367
原创 文件流: ASCII 与 二进制
Ofstream: 输出文件流ASCII 文本文件一个字符一个字符的写put(char ch);#include #include #include using namespace std;int main(){ int a[10]; int i; //指定工作方式ios::out注意这是在定义类对象,文件流ofstream /
2015-09-21 22:08:04 810
原创 I/O :文件流
首先搞清流的输入输入出图解: ifstream: 搞出的是输入文件流对象ofstream: 搞出的是输出文件流对象fstream 输入输出文件流#include <iostream>#include <fstream>#include <cstdlib>#include <cstring>using namespace std;struct Student{ char name[
2015-09-21 21:52:40 357
原创 中介模式
我的理解是将让两个对象不直接交互,而是通过一个中介类把这两个对像都封装在里面,这两个对象要想传递信息就必须通过这个中介类来实现。下面是一个 房东 租客 中介公司的例子 uml类图如下 这个图显示了本代码所有的逻辑关系:#include <iostream>#include <cstring>using namespace std;class Person; //注意类的使用class
2015-09-17 21:56:29 313
原创 异常处理
重点了解,捕获异常时对异常信息的详细处理#include <iostream>#include <cstdlib>#include <cmath>using namespace std;double triangle(double a, double b, double c){ double s = (a+b+c)/2; if(a+b<=c || a+c<=b || b+c<=
2015-09-17 20:04:49 225
原创 工厂模式
涉及知识:纯虚函数,虚函数, 虚析构函数, 抽象基类图解如下:UML图:应用实例:女娲造人#include <iostream>using namespace std;class Human{ public: virtual void speak() const = 0; virtual ~Human(){}};class WhiteHuman : pu
2015-09-16 20:14:53 261
原创 虚函数
虚函数定义: 基类中指向派生类的函数,简单的说就是virtual 修饰的函数作用: 当基类的指针指向派生类的对象时能调用派生类新增的成员实现机制: 基类中多了一个虚函数表 指针数组 同一类族中不同类的对象,对同一函数调用做出不同的响应:这就是由虚函数实现的动态多态性函数重载处理的是同一层次上的同名函数问题,属横向重载 静态关联 虚函数处理的是派生层次上的同名函数问题, 属纵向重载 动态
2015-09-16 14:36:25 277
原创 using 与 派生
using可以用在派生类中用于恢复由 ‘继承方式’ 改变的成员访问属性如下class Person{ protected: int age; public: Person(){} void disp(){}};class Student : public Person{ using Person::age; //这样
2015-09-14 21:21:23 271
原创 struct && class
struct 和 class 的不同其中成员的 ‘默认访问属性’不同。 struct: 公有class: 私有作为派生类时对基类的 ‘默认访问方式’不同 struct Student : Person //默认公有继承class Student : Person //默认私有继承
2015-09-14 21:19:28 268
原创 虚基类
虚基类用于多重继承虚基类: 1. 为了解决多重继承时对间接基类同一成员的多次继承,造成数据冗余。故而引入虚基类,其机制是,只保留一份数据(派生类直接从虚基类中继承数据)《不过其他数据还有只不过是屏蔽掉了图解如下:#include <iostream>using namespace std;class V{ protected: int value;};//虚继承cla
2015-09-14 21:17:54 247
原创 类型转换函数 & 转换构造函数
类型转换函数用途:将一个对象转换为int , double , float . 如: double b = 2.1; Complex(一个类名) c1; b = c1;
2015-09-12 15:42:27 774
原创 重载操作符
重载流操作符c++ 允许对操作符进行重载 1. ?: 2. 待续 对流的重载最好不要声明成类的成员函数。详细内容见C++Primer 第14章举例:对一个类重载‘输入输出流’class Time{ public: Time(int h = 0, int m = 0, int s = 0):hour(h), min(m), sec(s){} Time &
2015-09-11 20:21:31 303
原创 复制控制(管理指针成员)
智能指针目的:解决多个对象‘共享内存’问题。 带有动态分配内存的对象,在用析构函数释放内存的时候,可能出现多次释放的问题:内存泄漏/double free方法:跟踪对象:即用一个计数器,记录拷贝的对象个数,通过不断减少计数器里的值达到只释放一次内存的目的#include <iostream>#include <cstring>using namespace std;class Banji
2015-09-10 21:38:59 282
原创 const 与 static
const1. 修饰数据成员int const i = 10;当const修饰数据时,其意义与C语言中相似,但在c++中对const含义进行了拓展, 编译器在编译阶段将‘i’的值10提前写入符号表,而不对它进行分配内存2.修饰成员函数形式: type classname::fun() const; 目的:使函数只能引用数据成员而不能它的值(如果 “mutable int a;”则a便能够被改变)
2015-09-09 20:34:23 251
原创 构造函数
构造函数按形式分可分为三类: 默认(无参)的构造函数自定义的构造函数具有初始化列表的构造函数 通常初始化列表的构造函数是一般为了对 const 成员初始化 //! 初始化成员的次序,与定义成员的次序一致Class Time{ Public: Time(int n): hour(n), src(3){ //初始化参数列表 ....
2015-09-09 19:10:03 269
原创 类在内存中的分配
类和结构体一样,其内存分配遵循一样的法则,但不同的是,类中的方法不分配内存,如下class Name{ private: int n; int m; puclic: inline void get();}class Name n1, n2; n1,和n2具有不同的this->n ,this->m ,但他们却共用同一个方法: v
2015-09-08 15:48:36 325
原创 析构函数
析构函数:定义形式固定 如下~ClassName(){ ...//释放由于构造函数开辟的 堆内存} 时间:在对象被系统销毁之前,由系统自动调用。 目的:清理由构造函数开辟出的无法释放的内存,如new出来的堆内存 当有多个对象被构造时,遵循‘先构造.后销毁’的原则,如下: 前提:同一种存储位置下#include <iostream>using namespace
2015-09-08 15:42:43 328
原创 高级指针: 数组
cout在处理char * 类型的数据(地址:指向字符或字符串), 时会直接根据地址找到字符或字符串char temp[2][3] = {"hello", "world"};#include <iostream>using namespace std;int main(){ char *array[2] = {"hello","world"}; char temp[2][10] =
2015-09-07 20:53:52 242
原创 函数指针
函数指针数组(转移表)形式如下:int (*f[4])(); 应用转移表:如下为一个利用这个,实现加、减、陈、除。函数指针(回调)形式如下: int (*f)();//无参的函数指针f应用: 利用一个函数查找,一维数组中的最大值和最小值
2015-09-07 20:16:59 261
原创 !!!union
联合判别式 联合只能用第一个成员类型的值进行初始化。且初始化必须放在一个大括号里面.联合体是所有的成员都共用一块内存,如下在使用联合对象时,我们往往得确定union对象当前存储的是什么类型的值,所以,更常见的用法是使用 union的判别式(discriminant).
2015-09-01 19:57:50 317
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人