自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 锁管理器std::lock_guard和std::unique_lock

锁管理遵循RAII习语来处理资源。锁管理器在构造函数中自动绑定它的互斥体,并在析构函数中释放它。这大大减少了死锁的风险,因为运行时会处理互斥体。。锁管理器在C++ 11中有两种:用于简单的std::lock_guard,以及用于高级用例的std::unique_lock。未用锁管理器的例子mutex m;m.lock();sharedVariable= getVar();m.unlock();在这点代码中,互斥体m确保关键部分sharedVariable= getVar();的访问是顺序的

2021-02-26 16:36:11 333

原创 如何用qt发布程序

1.用Release方式构建项目 构建成功后,会在项目文件夹中Release文件夹中生成.exe文件:这时如果运行.exe文件会发生错误,提示找不到一些.dll文件:因为.exe文件对其他文件有依赖关系,可以使用windeployqt解决,发布一套完整的程序及其依赖的库文件。2.在开始菜单中找到Qt cmd 工具,打开对应的版本的cmd命令行3.进入构建目录下:运行命令windeployqt Test.exewindeployqt会帮我们解决文件依赖关系,程序需要的库文件都生成在了

2021-02-26 14:35:42 99

原创 go常用包简介

一、Go 标准库可以大致按其中库的功能进行以下粗略的分类输入输出。这个分类包括二进制以及文本格式在屏幕、键盘、文件以及其他设备上的输入输出等,比如二进制文件的读写。对应于此分类的包有bufio、 fmt、 io、 log和flag等,其中 flag 用于处理命令行参数。文本处理。这个分类包括字符串和文本内容的处理,比如字符编码转换等。对应于此分类的包有encoding、 bytes、 strings、 strconv、 text、 mime、 unicode、 regexp、index和path

2021-02-25 17:58:59 1195

原创 go string与time标准包使用简介

Go语言的标准库覆盖网络、系统、加密、编码、图形等各个方面,可以直接使用标准库的 http 包进行 HTTP 协议的收发处理;网络库基于高性能的操作系统通信模型(Linux 的 epoll、Windows 的 IOCP);所有的加密、编码都内建支持,不需要再从第三方开发者处获取Go 语言的编译器也是标准库的一部分,通过词法器扫描源码,使用语法树获得源码逻辑分支等。Go 语言的周边工具也是建立在这些标准库上。在标准库上可以完成几乎大部分的需求Go 语言的标准库以包的方式提供支持,下表是 Go 语言标准库中

2021-02-25 17:56:24 465

原创 c++11暂停线程的工作

bool pauseFlag=false;void WorkThread(){ while(条件) { if(pauseFlag) { Sleep(1000); continue; } }}void DoPause(){ pauseFlag=true;}方法大概就是:建立一个flag代表暂停或工作状态,当要暂停时,把flag改为true,在工作线程的循环中判断这个条件,为true则睡眠,并continue这次循环。...

2021-02-24 10:43:29 210

原创 qt删除文件或文件夹

想用QT编一段删除文件夹或文件的代码,网上搜索了很多,关于删除文件夹都用递归删除的方法,因为非空文件夹不能直接删除,只能先清空文件夹里的东西,才能执行删除文件夹的操作。实际上QT5之后有更简便的方法,就是用QDir::removeRecursively(),详细的可以查QT帮助文档。  利用QDir::removeRecursively()和QFile::remove(),可以写出很简单的删除文件夹或文件的操作。#include <QFile>#include <QDir>#

2021-02-23 10:32:10 4739 1

原创 vs手动添加qt模块

开发环境: Qt 5.9.0 VS2017VS2017 在生成新的工程时,会默认带了一些模块。如果添加新的模块如何操作呢?目前就添加 [QWebEngineView] 模块为例。在生成新的工程时默认带的模块,里面没有QWebEngineWidget模块,所以需要自己手动配置:按照下图的步骤添加WebEngineView 就可以啦1:第二步: 添加lib 库文件Qt5WebEngined.libQt5WebEngineWidgetsd.lib然后就好了...

2021-02-22 13:51:36 2016

原创 vmware 共享文件夹

确保成功共享vmware-hgfsclient挂载yum install open-vm-toolsvmhgfs-fuse .host:/ /mnt/hgfs

2021-02-09 11:52:07 126

原创 linux安装cmake

1.获取源码包wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz2.解压源码包tar xzvf cmake-3.3.2.tar.gz3.安装cmakecd cmake-3.3.2./bootstrapgmakemake install4.配置环境变量export PATH=…/cmake-3.3.2/bin:$PATHsource /etc/profile...

2021-02-09 10:56:11 213

原创 windows goland安装

https://www.cnblogs.com/double12gzh/p/13680180.html

2021-02-08 20:44:25 169 1

原创 centos7 安装mysql8.0+

版本选择官方下载网址:https://downloads.mysql.com/archives/community/Centos可选redHat版本,也可以选择通用版(Linux—Generic)因为此处使用.rpm文件安装,故找到mysql8.0.22的rpm包,包名如下:三、 安装过程1.创建文件夹mysql和mysql下的mysql-8.0.22cd /usr/localmkdir mysqlcd /usr/local/mysqlmkdir mysql-8.0.222.将rpm

2021-02-08 11:26:39 136 1

原创 centos7彻底卸除mysql

基于MySQL数据库基于Centos7.3-部署后,卸载mysql数据库:[root@host-131 ~]# yum remove mysql-community-serve使用remove发现还有部分残余文件:这就是默认的卸载,其实还有很多 MySQL 依赖的软件包都并没有移除,我们可以使用 rpm 命令的方式查看有哪些相关的软件名[root@host-131 ~]# rpm -qa |grep mysqlmysql-community-libs-5.7.22-1.el7.x86_64

2021-02-08 10:22:19 118

原创 CentOS7 安装boost库

1.yum install boost2.yum install boost-devel3.yum install boost-doc

2021-02-07 15:48:21 501

原创 linux c语言编译中头文件位置

先说头文件位置吧,分两类:1、/usr/include就是我们常用的一些:比如stdio.h,stdlib.h2、一些特殊模块需要头文件,例如我需要做内核相关的软件,用到例如printk()(这个函数,等同与用户态的printf())就需要kernel.h就存在/usr/include下的linux目录下...

2021-02-07 15:47:41 606 1

原创 go string转int方法

str := “123”1// string 转 inti, err := strconv.Atoi(str)2// string 转 int64i64,err := strconv.ParseInt(str,10,64)3// string 转 int32tmp,err := strconv.ParseInt(str,10,32)j32:=int32(tmp)4// string 转 uint64i64,err := strconv.ParseUint(str,10,64)5

2021-02-04 15:18:17 383 1

原创 使用http.Newrequest最简单模型

先声明http.client -> 再声明 http.request -> 之后提交请求:client.Do(request) -> 处理返回结果,每一步的过程都可以设置一些具体的参数,下面是一个最朴素最基本的例子:package mainimport ( "fmt" "io" "net/http" "os")func main() { //声明client 参数为默认 client := &http.Client{} //声明要访问的url url

2021-02-04 11:02:01 3026

原创 go 中接口的理解以及多态的实现

鸭子模型那什么鸭子模型?鸭子模型的解释,通常会用了一个非常有趣的例子,一个东西究竟是不是鸭子,取决于它的能力。游泳起来像鸭子、叫起来也像鸭子,那么就可以是鸭子package mainimport "fmt"type Duck interface { Quack() DuckGo()}type Chicken struct { name string}func (c Chicken) Quack() { fmt.Println("嘎嘎")}func (c Chicken)

2021-02-03 18:01:02 163

原创 golang struct 定义中json``解析说明

package mainimport ( "encoding/json" "fmt")//在处理json格式字符串的时候,经常会看到声明struct结构的时候,属性的右侧还有小米点括起来的内容。`TAB键左上角的按键,~线同一个键盘`type Student struct { StudentId string `json:"sid"` StudentName string `json:"sname"` StudentClass str

2021-02-03 13:37:41 1199

原创 windows和ubuntu之间传输文件

1。windows下载filezilla软件并安装https://filezilla-project.org/2. 使用FileZilla传输文件需要SSH服务,Ubuntu作为服务端使用需要安装SSH服务端,使用以下命令安装:sudo apt-get install openssh-server3.更改linux下的ssh服务配置#sudo vim /etc/ssh/sshd_config找到并用#注释掉这行:PermitRootLogin prohibit-password新建一行

2021-02-03 11:41:15 335

原创 解决每次进入命令都要重新source /etc/profile

在~/.bashrc文件中添加以下代码vim ~/.bashrc并在最后一行添加source /etc/profile

2021-02-03 11:24:43 648

原创 ubuntu18.04安装go环境

1.去官网获取go安装包2.解压tar xfz go1.13.4.linux-amd64.tar.gz -C /usr/local3.配置全局变量#修改~/.bashrcvim ~/.bashrc#添加Gopath路径export GOPATH=/usr/local/goexport PATH=GOPATH/bin:GOPATH/bin:GOPATH/bin:PATH重启文件source ~/.bashrc4.验证是否配置成功go version#提示warningwarning

2021-02-02 17:14:25 154

原创 Ubuntu 安装 MySQL 8.0+

Ubuntu 18.04 安装 MySQL 8.0 教程下载MySQL配置文件,网址:https://dev.mysql.com/downloads/repo/apt/ 打开如下图:打开后将下拉到网页底部点击Download按钮下载deb文件,打开如下图:进入下载页面,选择No thanks, just start my download,操作如下图进入下载文件目录,打开终端,执行命令:sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb选择MySQ

2021-02-02 17:06:12 192

原创 ubuntu下如何完全彻底卸载mysql

第1步 依次执行下面的语句1 sudo apt-get autoremove --purge mysql-server2 sudo apt-get remove mysql-server3 sudo apt-get autoremove mysql-server4 sudo apt-get remove mysql-common第2步 清理残留数据dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P如果报如下错误,证明你的系统中没有残留

2021-02-02 16:58:25 409

原创 Ubuntu18.04 安装mysql5.0+

提示:以下操作均在root用户下进行,如在普通用户,请自行加上sudo!查看有没有安装MySQL:dpkg -l | grep mysql安装MySQL:apt install mysql-server安装完成之后可以使用如下命令来检查是否安装成功:netstat -tap | grep mysql通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装成功。登录mysql数据库可以通过如下命令:mysql -u root -p-u 表示选择登陆

2021-02-02 14:33:34 385

原创 Linux系统如何永久改变系统时间

Centos系统,必须同时修改系统时间和硬件时间,才可以保证修改有效,单纯的使用date命令修改系统时间,是立即生效,重启后系统还原。具体操作如下:1.date {查看目前本地的时间}2.hwclock --show {查看硬件的时间}3.如果硬件时间和系统时间不同,那就对硬件的时间进行修改4.hwclock --set --date ‘014-12-15 15:15:15’ {设置硬件时间为14年12月15日15点15分15秒}5.hwclock --hctosys {设置系统时间和硬件时间同步

2021-02-01 13:35:59 574 1

空空如也

空空如也

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

TA关注的人

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