自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 使用Jekyll搭建博客,并绑定域名

在用户权限下操作环境CentOS Linux release 7.6.1810rvm 1.29.12gem 3.0.9ruby 2.7.0jekyll 3.9.0安装curl安装RVM(Ruby Version Manager)安装Ruby安装Bundler

2022-08-12 21:50:53 1056 1

原创 【C++】深入理解右值引用

篇幅较长,算是从0开始介绍的,请耐心看~该篇介绍了左值和右值的区别、左值引用的概念、右值引用的概念、std::move()的本质、移动构造函数、移动复制运算符和RVO。1. 左值和右值首先来介绍一下左值和右值的区别,内容参考于《C++ primer 5th》4.1。当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。(受对象用途影响)原则:在需要右值的地方可以用左值代替,但是不能把右值当成左值使用(对象移动除外)。当一个左值代替右值使用时

2021-07-26 23:16:57 695 4

原创 【C++】深入理解左值引用

测试环境:Visual Studio 2017概念我们日常说的引用,通常指的是左值引用(右值引用请参考C++ primer 5th)。引用为对象起了另外一个名字,引用类型引用另外一种类型(来源:C++ primer 5th p45)。代码如下:int a = 1024; int &b = a; //b指向a,b引用a int &c; //报错,引用必须被初始化std::cout << a << std::endl; //输出 1024s

2021-07-17 16:38:03 232 1

原创 【阅读笔记】TCP/IP详解卷1:协议(chapter 1 ~ 4)

第1章 概述7层OSI模型:应用层:指定完成某些用户初始化任务的方法。应用协议一般由开发者设计和实现,如:FTP、Skype等。表示层:指定针对应用的数据表示格式和转换规则方法。加密有时候放在这一层,但也可在其他层中。会话层:指定由多个连接组成一个通信会话的方法。它可能包括关闭连接、重启连接和检查点进程。传输层:指定运行在相同计算机系统中的多个程序之间的连接或关联的方法。如:TCP。网络层:指定经过潜在不同类型链路层网络的多跳通信方法。如:IP。链路层:指定经过单一链路通信的方法。本层通常包

2021-07-16 00:17:25 264

原创 github提交常见错误

1、fatal: unable to access ‘https://github.com/xxx/xxx.git/’: OpenSSL SSL_read: Connection was reset, errno 10054解决方法:git config --global http.sslVerify "false"2、fatal: unable to access ‘https://github.com/xxx/xxx.git/’: Failed to connect to github.com

2021-05-13 21:15:23 117

原创 安装UE4遇到的问题

Setup.bat执行完之后,执行窗口没了正常现象GenerateProjectFiles.bat执行完之后:error MSB3644:未找到框架“.NetFrame…运行Visual Studio Installer,点击单个组件,勾选.Net Framework 4.6.2 SDK和.Net Framework 4.6.2 目标包,然后点击修改...

2021-04-30 22:03:24 1067 1

原创 markdown添加表情包

今天在做笔记的时候,写到std::move,敲到std::m的时候,突然出现表情包提示,哈哈哈,太可爱了。以后做笔记的时候,可以添加一些表情,保持心情愉快~:blush: 脸红下面是示例:这个网站里面有markdown支持的表情包列表~https://www.webfx.com/tools/emoji-cheat-sheet/还有一个终端神器-MobaXterm,有时也会有小企鹅在走路,太可爱了都~...

2021-03-27 15:49:56 153

原创 centos 7安装Lua

下载进入Lua官网,查看版本下载$ wget http://www.lua.org/ftp/lua-5.4.2.tar.gz安装解压$ tar -xzvf lua-5.4.2.tar.gz 编译$ cd lua-5.4.2/$ make linux test查看Lua版本$ lua -vLua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio发现显示的不是安装的版本,因为使用yum安装的lua默认是5.1.4,所以需要替换Lua。

2021-03-12 17:31:43 519

原创 C++ 空类的大小

深度探索C++对象模型(83-88页):那是被编译器插进去的一个char ,使得这个class的不同实体(object)在内存中配置独一无二的地址。也就是说这个char是用来标识类的不同对象的既然是空类,为何要设置标志去区分?有很多这样的宏#define ARRAY_SIZE(x) sizeof(x)/sizeof(x[0]) 如果对象大小是0 这个宏会发生除0错误。参照:知乎问答...

2020-07-09 00:04:07 314

原创 C++ memset使用注意事项

memset用于给某一块内存空间进行赋值,所以赋值的对象必须是定义的。memset不能用于清空string、vector等类型。原因如下:string、vector类型内部除了数据还有其他东西,使用memset会破坏其内部结构。...

2020-07-08 23:22:12 405

原创 STL注意事项一(front()引用)

写代码的时候,使用front()函数,未判断容器是否为空,导致程序崩溃。使用标准库中的list、vector等中的front()函数时候需要判断该变量是否为空。front()返回容器首元素的引用,在空容器中使用front()是未定义的,程序会崩溃。详见 cppreference以后还是要多看看标准库文档吖~~...

2020-07-03 18:58:45 573

原创 C++ map中的find()函数 导致程序崩溃

map未初始化,导致map.size()特别大,使用find的时候,程序崩溃。

2020-07-03 17:50:48 3739

原创 QT5 QLineEdit、QTextEdit输入中文的时候如何获取并且不乱码?

#include <QTextCodec>...//或gb18030等中文编码QTextCodec::setCodecForLocale(QTextCodec::codecForName("unicode"));...m_pLineEditName->text().toLocal8Bit().data();这样就把编码改了,但是网络传输的时候,QT客户端是unic...

2020-04-02 23:41:14 3105

原创 【QT】连接MySQL数据库--代码

#include <QSqlDatabase>#include <QSqlQuery>#include <QSqlError>.... bool query_result; QSqlDatabase db; if(QSqlDatabase::contains("qt_sql_default_connection")) d...

2020-04-01 22:23:22 445

原创 构造函数可不可以调用虚函数?析构函数可不可以调用虚函数

构造函数可以调用虚函数,但是最好别这样做。例:#include<string>#include<iostream>using namespace std;class B {public: B(const string& ss) { cout << "B constructor\n"; f(ss); } virtual void ...

2020-04-01 01:06:38 304

原创 构造函数能不能是虚函数?析构函数能不能是虚函数?

构造函数不能是虚函数虚函数调用是一种在给出部分信息的情况下完成工作的机制,我们可以只知道接口而不知道对象的确切类型。即可以通过父类的指针或引用来调用子类的那个成员函数。而创建一个对象,需要知道对象的完整信息,需要知道你想要创建的类的确切类型。因此,构造函数不应该被定义为虚函数。析构函数什么时候声明为虚函数该类具有至少一个虚函数的时候,表示该类充当派生类的接口,这个时候要把基类析构函...

2020-04-01 00:19:18 415

翻译 C++空类默认生成哪些成员函数

C++98/03如果用户未声明默认构造函数,编译器将生成一个默认构造函数。(default constructor)如果用户未声明拷贝构造函数,编译器将生成一个拷贝构造函数。(copy constructor)如果用户未声明赋值运算符,编译器将生成一个赋值运算符。(copy assignment operator)如果用户未声明析构函数,编译器将生成一个析构函数。(destructo...

2020-03-31 18:30:03 568

原创 批处理(bat)语法之常用命令

回显:显示正在执行的批处理命令及执行结果等。也就是说,你输入一个命令,程序返回一个值,显示在屏幕上。举个例子:linux终端登录,用户名显示在屏幕上这就是回显;而密码不显示,这就是不回显。语法echo打开回显:echo on ;关闭回显:echo off。@放在命令前关闭回显。 @echo off与@echo on都是不回显。建立新文件:echo 文件内容>文件名;增加文件...

2020-03-30 19:55:44 604

转载 批处理(bat)语法

批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令。小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。例:@echo off echo "欢迎来到非常BAT!" pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,屏幕...

2020-03-30 19:51:39 1631 1

原创 基于C++的IM即时通讯系统之登录(二)

vs2017 + 云服务器 + Linux + MySQL + C++ + 代码 = IM服务器QT creator 4.11.0 + Windows + C++ + 代码 = IM客户端代码:- 代码地址:XiaIM流程服务器去腾讯云/阿里云官网购买一个云服务器。使用vs2017新建一个控制台应用程序,并配置远程调试信息,填写IPv4(公),用户名(root)...

2020-03-15 00:30:56 1328

原创 基于C++的IM即时通讯系统之登录客户端(一)

QT creator 4.11.0 + C++ + 代码 = IM客户端手写代码做界面。客户端。代码地址:XiaIM流程新建一个Qt Widgets Application项目。新建一个类,取名为login。界面代码如下:login.h#ifndef LOGIN_H#define LOGIN_H#include <QMainWindow&g...

2020-03-14 19:56:02 1547

原创 C++学习需要注意的一些东西(一)

C++嘛,emmm......我觉得挺难学的,以前在学校的时候,老师布置的作业,能运行出正确的结果就行,其他的,管他呢,能交差就行,而这也给自己埋下了隐患,工作中被打脸(emmm....自己打自己脸)。 嘻嘻,话不多说,赶快写总结吧,我是一个初学者,求大佬们指正┭┮﹏┭┮~ 1、如前文所说,项目中,能够用正确的数据运行出正确的结果,那只说明了程序已经完成了一小部分,后面...

2019-08-27 22:57:59 205

原创 spark客户端源码阅读学习之启动流程(一)

写在前面:该spark是客户端,是和openfire服务器一起使用的,不是那个spark集群~。对于spark客户端的启动流程和openfire启动流程所涉及的知识没有多大区别,(部分涉及知识请参照 openfire源码阅读学习之openfire启动流程(一))只是新加了unpackArchives(File libDir, boolean printStatus)函数;unpac...

2019-05-11 10:03:24 192

原创 openfire服务器源码阅读学习之启动流程(一)

openfire启动流程(ServerStarter类、XMPPServer类)首先从org.jivesoftware.openfire.starter包下的ServerStarter.java文件中启动:final ClassLoader parent = findParentClassLoader();装载启动类加载器(bootstrap contaioner):原因:首先程序中...

2019-05-09 15:18:53 628

原创 vim配置(插件安装)

亲测可行~参照博客:1、Vim的终极配置方案,完美的写代码界面! ——.vimrchttps://blog.csdn.net/amoscykl/article/details/806166882、vim利用vundle安装YouCompleteMe(该步骤无需修改.vimrc文件,因为YouCompleteMe插件配置在第一步已经配置完成)https://my.oschina....

2019-04-26 23:57:59 193

原创 Spark客户端登录遇到的问题

Spark连接Openfire服务器错误:Certificate hostname verification failed Spark以及:org.jivesoftware.spark.util.log.Log error javax.net.ssl.SSLHandshakeException…解决方法:选择登录界面的Advance按钮,然后按照下面三个图片步骤设置:...

2019-04-16 01:55:38 2390 2

原创 Spark客户端源码阅读(一)

Spark客户端源码阅读此Spark是基于XMPP协议的实现的客户端,与openfire、smack使用。而不是为大规模数据处理而设计的快速通用的计算引擎Apache Spark。项目地址: https://github.com/igniterealtime/Spark简述几个项目构建工具make工具:用于Linux下构建C/C++代码,在makefile文件中指定源文件如何编译以及连接...

2019-04-16 01:10:05 275

原创 XMPP协议

概述服务器:Openfire客户端:Spark为服务器与客户端提供一套可扩展的API:Smark简述TCP/IP协议族首先简单说一下TCP/IP协议族,此协议族通常采用4层,分别是:应用层:解决必须通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的问题。如:超文本传输协议(HTTP)、简单邮件传送协议(SMTP)、域名系统(DNS)、文本传送协议(FTP)、远程终端协议(...

2019-04-07 15:13:38 497

原创 基于《Android编程权威指南》前5章完成的一个Android App

基于《Android编程权威指南》前5章完成的一个Android App简介上学期学了Android编程,期末做了一个课程设计–QuizGame(猜谜游戏)。项目地址: https://github.com/Xiawen9/AndroidApp有两个课程设计,分别是移动开发技术大作业和移动开发技术实验。以下是要求:移动开发技术大作业1、按照《Android编程权威指南》做完前五章,并...

2019-04-05 16:01:58 387

原创 IM之spark登录openfire 配置安装及运行(一)

安装环境:ubuntu 16.04 LTS:部署openfirewindows 7 ultimate:安装spark安装前的准备工作安装jdk1、下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择Linux x64 182.93 MB jdk-8...

2019-04-03 21:50:24 1039

原创 FreeNOS学习笔记二(阅读)

FreeNOS学习## FreeNOS简介:  FreeNOS是github上一个开源项目,该项目是用C++写的一个操作系统微内核,各种宏内核中的服务作为一个独立的services在微内核中,基于消息的通信方式,该项目代码风格良好,完全基于面向对象,还有常见的设计模式,良好的注释,doxygen,scons.  关于如何看  类模板...

2019-03-19 09:46:21 2769

原创 解决ubuntu 16.04进入系统紫屏

我的情况是:按ctrl+alt+f1没用,按照网上的方法编辑grub也没用~(方法:进入引导界面按e,进入grub界面,在右下角的Splash后面加nomodeset,把ro改成rw,按f10重新启动。这个方法我试了,不行,依然进不去ubuntu系统。)后来选择卸载重装内核,发现可以。卸载重装内核方法方法如下:(也可以转度娘修复内核哦~)1、进入系统引导界面,选择ubuntu Advanc...

2019-01-22 12:04:00 12335 12

原创 FreeNOS学习笔记一(安装)

结合网上的教程,终于配置好啦~系统环境为ubuntu 16.04 LTS1、下载源工程 https://github.com/Neirth/FreeNOS即终端输入将代码clone至本地 git clone https://github.com/Neirth/FreeNOS.git 2、安装scons(用于构建源代码)(scons是Linux下的一种自动构建工具,类似于cm...

2019-01-19 21:06:12 2989 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除