自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fifbro的博客

程序驱动人生

  • 博客(84)
  • 资源 (4)
  • 收藏
  • 关注

转载 如何为ubuntu增加交换内存

经过上述步骤后,在Ubuntu下扩展swap分区就完成了。接下来步骤将2G的swap分区增加到10G...例如小生的系统上swap分区大小为2G。

2023-03-17 13:10:00 827

原创 MQTT之mosquitto

mosquitto是mqtt协议的c语言开源版本。

2023-03-14 12:16:33 355

原创 nginx实践01——让nginx run起来

【代码】nginx实践01——让nginx run起来。

2023-02-02 10:34:31 222

原创 vue学习000(vue开发环境配置)

vue开发环境配置

2022-12-01 17:09:42 139

原创 vue学习001

vue学习笔记 0011.vue程序的基本构成2.挂载点3.vue指令

2022-11-09 15:56:00 291

原创 C++成员函数指针转C-Style普通函数指针

【代码】C++成员函数指针转C-Style普通函数指针。

2022-09-28 15:14:31 1575

原创 Ubuntu terminal 分屏

Ubuntu terminal 分屏

2022-09-23 14:51:39 3818

原创 前端学习路线

2021年黑马程序员前端学习路线图 - 哔哩哔哩

2022-09-12 22:15:14 103

原创 Ubuntu1804安装及基本配置

Ubuntu1804安装配置经验贴

2022-07-31 00:04:39 1423

原创 qt软件制作安装程序

Inno Setup 是一个免费的 Windows 安装程序制作软件,小巧、简便、精美是其最大特点,支持 pascal 脚本,能快速制作出标准 Windows2000 风格的安装界面,足以完成一般安装任务。

2021-06-03 14:43:03 1291

原创 打包发布qt+python软件

最近开发了一款可视化软件平台,初次接触Qt,在这里简单记录一下软件(Qt+Python)的打包过程。对于qt的依赖库,qt提供了windeployqt.exe来进行打包

2021-06-03 13:16:43 1491 2

原创 c++中嵌入python

在vs环境下的C++中引入Python的步骤:https://blog.csdn.net/weixin_34088598/article/details/92178672在C++中使用Python进行编程的详细代码:https://blog.csdn.net/steve_cui/article/details/88531568http://www.cppblog.com/jacky2019/archive/2007/05/17/24276.html...

2021-03-26 19:11:37 152

转载 C++ mutex和lock

mutex用来协助采取独占方式控制对资源的并发访问,这里的资源可能是一个对象,或多个对象的组合,为了获得独占式的资源访问能力,相应的线程必须锁定mutex,这样可以防止其它线程也锁定该mutex。下面两条线程如果没有使用mutex来同步,则输出结果会是112233。mutex g_mutex;void print123() { g_mutex.lock(); for (int i = 0; i < 3; i++) { this_thread::sleep_for(chrono:

2021-03-17 21:22:30 843

转载 c++并发编程之原子操作的实现原理

原子(atomic)本意是”不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作”.处理器如何实现原子操作(1)使用总线锁保证原子性如果多个处理器同时对共享变量进行读写操作,那么共享变量就会被多个处理器同时进行操作,这样读写操作就不是原子的,操作完之后共享变量的值会和期望的不一致.所谓总线锁就是使用处理器提供的一个LOCK#信号,当一个处理器在总线上输出次信号时,其他处理器的请求将被阻塞住,那么该处理器可以独占共享内存.在x86.

2021-03-17 21:01:27 1494

转载 boost::unique_lock和boost::lock_guard的区别

lock_guardboost::mutex mutex; boost::lock_guard<boost::mutex> lock(mutex); unique_lockboost::mutex mutex; boost::unique_lock<boost::mutex> lock(mutex); std::unique_lock 与std::lock_guard都能实现自动加锁与解锁功能,但是std::unique_lock要比std::lock

2021-03-17 20:54:11 604

转载 c++并发编程之互斥锁(mutex)的使用方法

1. 多个线程访问同一资源时,为了保证数据的一致性,最简单的方式就是使用 mutex(互斥锁)。引用 cppreference 的介绍:The mutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.方法1:直接操作 mutex,即直接调用 mutex 的lock / unl.

2021-03-17 20:50:22 1321

转载 c++并发编程之创建线程

以boost为例。boost::thread有两个构造函数:(1)thread():构造一个表示当前执行线程的线程对象;(2)explicit thread(const boost::function0<void>& threadfunc): boost::function0<void>可以简单看为:一个无返回(返回void),无参数的函数。这里的函数也可以是类重载operator()构成的函数;该构造函数传入的是函数对象而并非是函数指针,这样一个具有一般...

2021-03-17 20:44:03 216

转载 c++并发编程之thread::join()和thread::detach()

thread::join():阻塞当前线程,直至*this所标识的线程完成其执行。*this所标识的线程的完成同步于从join()的成功返回。该方法简单暴力,主线程等待子进程期间什么都不能做。thread::join()会清理子线程相关的内存空间,此后thread object将不再和这个子线程相关了,即thread object不再joinable了,所以join对于一个子线程来说只可以被调用一次,为了实现更精细的线程等待机制,可以使用条件变量等机制。#include <ios...

2021-03-17 20:22:23 1218

转载 c++并发编程之线程的互斥与同步

什么是线程的同步与互斥?互斥:指在某一时刻指允许一个进程运行其中的程序片,具有排他性和唯一性。 对于线程A和线程B来讲,在同一时刻,只允许一个线程对临界资源进行操作,即当A进入临界区对资源操作时,B就必须等待;当A执行完,退出临界区后,B才能对临界资源进行操作。 同步:指的是在互斥的基础上,实现进程之间的有序访问。假设现有线程A和线程B,线程A需要往缓冲区写数据,线程B需要从缓冲区读数据,但他们之间存在一种制约关系,即当线程A写的时候,B不能来拿数据;B在拿数据的时候A不能往缓冲区写,也就是说,只.

2021-03-17 20:12:22 222

原创 使用networkx根据点和边绘制图

已知顶点数据(点ID、矢量值、点类型)和边/弧数据(索引对的数组,(from_id, to_id)),绘制其对应的图/树(有向图)。# pip install networkximport matplotlib.pyplot as pltimport networkx as nximport numpy as np class draw_tree: def __init__(self): self.m_G = nx.Graph() # 创建一个空的无向图

2021-03-04 18:21:41 1620 2

原创 Ubuntu安装mysql

安装:https://www.cnblogs.com/opsprobe/p/9126864.html排错:https://www.cnblogs.com/cpl9412290130/p/9583868.html

2021-02-08 22:43:12 79

转载 PyQt中使用QtSql连接MySql数据库的方法

这篇文章主要介绍了PyQt中使用QtSql连接MySql数据库的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧PyQt 有内置的数据库连接类 QtSql 。在使用 PyQt 连接 MySql 展示数据时,如果明确所有数据库操作都与 Qt 窗口有关,且不涉及复杂的数据操作,则可以使用内置的 QtSql 类。不需要安装额外的数据库类,且能更加便利的与 QtTableView 等 Qt 控件进行数据交互。初始化db =

2021-02-01 19:56:36 2104 1

原创 pyinstaller打包引用nmap包的软件时的错误处理

使用pyinstaller打包python软件时出现了诸多问题,下面逐一对其记录。1. 针对打包后调用nmap等第三方软件会弹出控制台窗口的问题,修改nmap.py第228行部分的代码如下:IS_WIN32 = 'win32' in str(sys.platform).lower()if IS_WIN32: startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags = subprocess.CREATE_NEW_CONS

2021-02-01 01:06:28 276

转载 Python中 __init__ 函数 内外 定义类的变量的区别

1.在类内,__init__函数外定义类变量这里先声明两个概念:类变量:属于类的变量,和实例无关实例变量:属于实例的变量,和类无关通过这种方式创建的变量属于当前类,和所有实例都没有关系。调用此类型的类变量时有两种方式:当使用“类名.变量名”的方式调用。使用“实例名.变量名”的方式调用,使用此方法是必须保证实例中没有重名的变量,因为使用“实例名.变量名”的方式调用变量时,系统会先从对象中查找,如果没有再从类中查找。注:通过 “实例名.类变量名” 对类变量进行赋值并不会改变类变量的值,而是

2021-01-29 11:44:16 2420

原创 Linux中的拷贝命令:cp、scp和rsync

cp用途:单机拷贝文件和文件夹1.拷贝单个文件cp [src file] [dst dir]2.拷贝多个文件cp [src file1] [src file2] [src file3] [dst dir]3.拷贝文件夹cp -r [src dir] [dst dir]scp用途:多机拷贝文件和文件夹1.拷贝单个文件scp [src file] [远程主机账号名]@[ip]:[dst dir]输入远程主机账号的密码2.拷贝多个文件scp [src

2020-11-28 14:32:28 398

原创 linux 离线运行anaconda程序

这里用到的 screen 程序,需要 conda 安装conda install screenscreen用法screen -S w1 新建一个w1工作窗口screen -ls 查看当前所有的运行窗口screen -d w1 将w1窗口离线screen -r w1 接入窗口w1ctrl+A+D 退出当前窗口,回到主界面screen -X -S w1 quit 删除w1这个窗口screen kill +编号/名称 删除窗口注意:使用screen运行anaconda时可能出现虚拟

2020-10-29 21:07:47 713 5

原创 MPI知识点总结

MPI知识点总结点对点 阻塞式通信 MPI_Send MPI_Recv 非阻塞式通信 MPI_ISend MPI_IRecv MPI_Wait 同步聚合 栅栏同步 MPI_Barrier 通信聚合 广播 MPI_Bcast 分散 MPI_Scatter 收集 MPI_Gather 全部收集 MPI_Allgather 规约聚合 规约操作 MPI_Reduce MPI

2020-05-29 14:05:43 1371

转载 STL里sort算法用的是什么排序算法

本文转载:https://blog.csdn.net/qq_35440678/article/details/80147601,感谢博主的分享!前言当你第一眼看到这道面试题是不是心里在暗喜,一问算法题就比问排序算法,一问排序算法就问快速排序。如果你回答:STL里的sort算法肯定用的是快速排序啊?难不成还是冒泡排序么?如果你只是回答快速排序,那么恭喜你只答对了33.333%,离正确答案还差一大截。回答完,接着会引来一堆问题轰炸:数据量大和数据量小都适合用快速排序吗? 快速排序的

2020-05-09 22:31:16 1113

原创 vs下安装配置使用mpi

安装和配置MPImpi的下载路径:https://www.microsoft.com/en-us/download/details.aspx?id=57467,两个文件都要安装(SDK和Bin),并记住路径。 在vs工程的项目属性页配置MPI(以我的项目为例): 选择所有配置,x64平台 “VC++目录”=>包含目录添加MPI头文件所在的路径:C:\Program Files (...

2020-05-02 17:57:42 4342

原创 使用pyinstaller为python程序打包

在使用anaconda+vscode写完python代码之后,相信很多人都会这样一个疑问:我们如何将这些python程序提供给普通用户使用呢?伟大的前辈早已替我们想好了办法——python程序的打包。python打包的方法主要有4种:py2exe pyinstaller cx_Freeze nuitka其中,pyinstaller是目前应用最多的python打包工具,因此我选择了p...

2020-04-29 00:58:58 550

原创 cereal库实现序列化和反序列化

cereal简介cereal是一个基于c++实现的序列化工具库,用于将c++的各种数据结构序列化成二进制流进行传输,并将二进制流反序列化成原来的数据结构。相比同用途库,cereal使用简单,仅需包含头文件,运行效率尚可,对比如下:cereal的下载和安装cereal的官方下载地址为:http://uscilab.github.io/cereal/index.html编译源码过程...

2020-04-25 11:01:57 5628

原创 Qt5.12.1下使用mingw编译opencv库

开发环境Windows10 64位 Qt 5.12.1 opencv-4.2.0 cmake-3.17.0-win64-x64准备工作添加环境变量“Path”D:\Programs\Qt\Qt5.12.1\5.12.1\mingw73_64\binD:\Programs\Qt\Qt5.12.1\5.12.1\mingw73_64\libD:\Programs\Qt\Qt5....

2020-04-13 21:48:09 1009

原创 在VS中使用OpenMP

OpenMP是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受,用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案(Compiler Directive) 。OpenMP支持的编程语言包括C、C++和Fortran;而支持OpenMp的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等。OpenMp...

2020-03-19 14:32:53 7082 5

原创 数据库知识体系框架图03

2019-03-10 20:38:01 388

原创 数据库知识体系框架图02

2019-03-10 20:37:04 334

原创 数据库知识体系框架图01

2019-03-10 20:35:29 2026

转载 聊一聊多源最短路径问题(只有5行代码哦)

暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最短路程,也就是求任意两个点之间的最短路径。这个问题这也被称为“多源最短路径”问题。现在需要一个数据结构来存储图的信息,我们仍然...

2018-04-20 11:37:39 2171 1

转载 吃瓜群众一图看懂人工智能、物联网等技术的关系

吃瓜群众一图看懂人工智能、物联网等技术的关系李运华好写代码,好为人师,好读群书作为一个奔四的大龄中年程序员,一边焦虑中年大叔的未来,一边担忧人类的未来,于是一头扎进这几个技术潮流的大坑,看看能否在机器人灭绝人类之前,通过自己的力量能否做点什么事情,也许能改变人类历史呢?结果发现扎进去容易,游出来就难了,一大堆各种技术名词混在一起,就像刘姥姥进了大观园,虽然都很新奇,但是眼花缭乱啊,好不容易花了几个...

2018-04-19 11:56:31 588

原创 编程网址收藏

RUNOOB菜鸟教程W3school在线教程黑马程序员社区C++技术网Linux公社牛客网(在线编程)阮一峰的个人网站W.Richard Stevens的经典书籍

2018-04-18 12:00:54 277

原创 LinuxC/C++发展方向

LinuxC/C++发展方向——知乎精彩回答收藏链接:https://www.zhihu.com/question/22608820/answer/26095225来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。lable1:列一下写服务端需要的基本知识点吧:1. 网络通信:最低要求能理解 Tcp 是流,Udp 是包,并会创建连接通信,写 epoll 的程序。 1.1...

2018-04-18 09:48:43 2429

regex.h regex.cpp

linux下的C语言正则表达式头文件和源文件: regex.h regex.cpp

2018-01-19

使用gdi+、opengl实现了特效字体的设计

使用gdi+、opengl实现了特效字体的设计,可加阴影、加轮廓以及自定义轮廓和文字的颜色等属性。

2017-09-29

封装的Socket类

#include <winsock2.h> #include <iostream> #include <map> #include <string> #pragma comment(lib, "ws2_32.lib") using namespace std; map<string,string> DNS; #define MAX_QUEUE 10 #define MAX_SIZE 80 #define SERVER_gListenSocket 1130 volatile int servicegListenSocket = 2000; int gListenSocket=1130; char *g_User, *g_Password;

2016-02-17

空空如也

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

TA关注的人

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