自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt6开发的网络通信工具(支持TCP和UDP)

注意:前面的R表示时接收消息,S表示的是发送消息。

2023-10-15 17:52:36 258

原创 MinGW 编译jsoncpp 的下载和编译

lib 下面的库 , libjsoncpp.a 是静态库配合头文件就可以使用;libjson.cpp.dll.a 是动态库对应的静态库, 对应的动态库在bin目录下。在此界面,打开winodow 终端, 输入 mingw32-make.exe,回车后,就可以看到库生成了。点击Generate后,可以看到下方会显示Generate完成,这是就可以关闭cmake-gui了。点击Configure ,弹出如下界面后,选择MinGW Makefiles, 选择第2项。配置jsoncpp 路径。

2023-06-27 22:44:57 479

原创 boost 异步服务器开发

boost 异步服务器分为会话类、服务类, 会话类主要负责与客户端通信, 服务类用来接收客户端连接。

2023-06-20 22:12:06 487

原创 ubuntu 首次安装后配置开发环境

安装vim 后 ,在 vim /etc/vim/vimrc下。

2022-05-27 22:53:16 228

原创 C++11 线程池的使用

本文主要介绍C++中线程池的实现以及C++11中新特性(仿函数、线程、互斥量、原子、条件变量等)的使用,最终会实现一个简易的线程池,可支持传参不传参等任务。目录一、线程池的用途1、线程池的作用二、线程池的实现思路1、线程池类头文件2、线程池类源文件3、使用线程池三、不足和缺陷一、线程池的用途1、线程池的作用 频繁的创建和销毁线程会产生大量的程序资源消耗。使用线程池来管理线程的创建和销毁, 有助于提高线程创建和销毁过程的效率。线程池的本...

2022-05-07 15:16:11 2063

原创 2021-06-30 单链表的基本操作

#pragma once//2021/06/29 wangdong 链表结点的定义template<typename T>struct LinkNode{ T data; LinkNode* pNext; LinkNode(const T& _data) { data = _data; pNext = nullptr; }};/** @projectName: CTools* @brief:...

2021-06-30 10:43:10 113

原创 git 的基本操作

git 操作文档1 git 基本介绍Git的主要优点: 对非线性开发有非常强的支持 分布式、协作式开发处理代码冲突的能力强 数据结构更优,更适合管理大规模工程 社区更活跃,生态更完整 1.1 git 的提交流程在 Git 中的文件有三种状态:已提交(committed): 表示数据已经安全的保存在本地数据库中;已修改(modified): 表示修改了文件,但还没保存到数据库中;已暂存(staged): 表示对一个已修改文件的当前版本做了标记,使之包含在下次

2021-05-22 20:37:27 106

原创 Python Django 开发

1 Django 项目介绍1.1 创建一个Django 项目1) 先安装 Djangopip install Django==2.22) 新建一个Django 项目Django-admin startproject MyWebPrject __init__.py:表示MyWebPrject是Python的包; settings.py:Python的配置文件; urls.py:进行URL路由的配置; wsgi.py:web服务器和Django框架交

2021-05-08 16:11:08 155

原创 C++连接MySQL 操作的封装

以前写过一篇 c++连接mysql 的博客, 每次都要写类来封装数据库的操作函数, 参考一位大佬的封装,不说了,直接上代码:头文件如下:#pragma once#include <windows.h>#include <iostream>#include <mysql.h>#include <stdint.h>#include <string>#include <algorithm>#include <ma

2020-11-21 20:29:57 449 1

原创 gdb调试的介绍和使用

1.gdb调试的介绍 GUN工具集中的调试工具是gdb,该程序是一个交互式工具,工作在字符模式。2.gdb是功能强大的调试器,可完成如下调试任务: 1)设置断点 2)监视程序变量的值 3)程序的单步执行 4)显示/修改变量的值 5)显示/修改寄存器 6)查看程序的堆栈情况 7)远程调试3.gdb 常用命令 1)l (list) ----...

2019-07-08 11:00:13 630

原创 C++基础复习

一直忙于写毕业设计,好久都没写博客了,感觉C++基础都忘了好多。所以趁现在没事,将C++知识从头在复习一遍。本篇博客将讲四个部分,其他的知识将在后续的博客更新。1. C++概述2. 结构化程序设计3. 面向对象程序设计4. C与C++的区别1. C++概述: C++语言是当今应用最广泛的面向对象程序设计语言,它包含C的全部特征、属性和优点。同时,增加了对面向对象编程的完全支持。...

2019-06-10 15:48:06 190

原创 C++笔试中遇到的问题

1. sizeof与strlen的区别? 答: sizeof是操作符,分配的数组实际所占的内存空间大小,不受里面存储内容的影响。strlen是函数,strlen计算字符串的长度,以'\0'为字符串结束标志。输出为 : 4 10 11 102. 逆序输出链表? 答: 我们有两种办法,将链表的节点压入栈中,依次弹出,打印链表...

2019-03-16 11:38:22 213

原创 用VS2013中MFC开发视频播放器(2)

上一个博客我写了做视频播放器的环境搭建,没写完这个项目,所以今天在把它详细的写一遍流程,介绍一下这个项目的编写。 1.需求分析;要求开发播放器系统能够播放媒体文件,而且还可以进行播放速度的控制、屏控制、音量控制、顶部显示、和抓图存盘的功能。 2.开发环境: 在windows10上使用集成开发工具Microsoft Visual Stdio 2013.以及DirectShow SD...

2019-03-08 17:14:53 3186 3

原创 常用各种排序算法的介绍

快速排序的思想:我们template&lt;class T&gt;void quick_sort(T array[], int low, int high){ if (low &gt; high) return; int i = low; int j = high; T key = array[i]; while (i &lt; j...

2019-03-08 11:49:27 163

原创 用VS2013中MFC开发视频播放器

1. 搭建开发环境 1.1 vs2013网上有许多软件可以自行下载或者 vs2013的安装包 有需要的留言我给发。 1.2 搭建DirectShow开发环境。我参考的书上说要自己下一个DriectShow,但是我下载了好多次,安装后不会用,我在网上搜了,可以不用单独下载这个,可以打开vs2013 ,找到工具,点开找到扩展与更新,在联机里面搜索direct sh...

2019-03-08 11:47:13 2046 2

原创 VS2013与数据库mysql8.0的连接

1.准备: vs2013 mysql 8.0 1.1首先我们到官网上下载mysql,下载完成后解压,安装 vs2013下载解压安装2.我们打开安装后的mysql文件夹我们一会要重点用到 include 和lib,所以先将include的路径拿到E:\mysql\mysql-8.0.14-winx64\include E:\mysql\mysql...

2019-03-07 17:04:26 1884

原创 二分查找的两种实现

面试中经常会问到二分查找,二分查找的两种实现: 第一种是用递归实现的,第二种使用循环实现的。package com.lzw;public class Binary { /** * 二分查找的实现 */ public static void main(String[] args) { // TODO Auto-generated ...

2019-03-02 19:15:32 234

原创 C++面试题

进程与线程的区别和联系?答:进程:进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户启动了一个程序,系统就为其创建一个进程,又为其分配资源(表格,内存,IO等),然后将其放入进程的就绪队列中,进程调度程序选中它后,才为它分配CPU及其他相关资源,该进程才真正开始,所以,进程是系统中并发执行的单位。线程:进程中执行运算的最小单位,即执行处理机调度的基本单位。线程是进程的一个实...

2019-03-02 16:49:27 147

原创 人工智能机器人爬取照片的实现

俗话说“工欲善其事,必先利其器”,自己做的这款小项目的实现,搭载的平台 VS2013 ,要想做出一款只需要用户输入一个url,俗称网址,就能从互联网上得到该网址所需要的照片,并且保存到用户指定的文件夹中。所需要的步骤如下:1.用户输入网址. 我们并不是分析这一个网址,而是通过这个网址得到相关网址的照片,所以我们需要声明一个队列,来存储解析该网页得到的html页面的所有url.2.分...

2019-03-01 15:40:40 772

原创 STL中vector的使用

    vector是标准模板库中我们经常使用的容器,它与数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能很好的支持随机存取(使用[]操作符访问其中的元素).但由于它的内存空间是连续的,所以在中间进行插入和删除操作会造成内存块的拷贝(复杂度为O(n)),另外,当该数组的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝,这些都大大影响了vector的效率。每个编译器对它进行...

2019-02-26 09:10:48 276

原创 快速排序的实现

快速排序的实现 快速排序是1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法。分治法的思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。一种快速排序的简单实现:template&lt;class T&gt;void quick_sort(T array[],int low,int hig...

2018-10-07 23:26:24 94

原创 Linux Shell基本命令

命令行和Shell代表相同的概念,即命令解释行。命令行指的是供用户输入命令的界面,其本身只是接收输入,然后把命令传递给命令解释器。后者就是Shell. 从本质上讲,Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在命令行输入命令,运行在后台的shell把命令转换成指令代码发送给操作系统。Shell提供了很多高级特征,使得用户和操作系统间的交互变得简便和高效。...

2018-09-10 19:51:54 246

原创 static静态变量与普通变量的区别

 1.  static全局变量与普通全局变量的区别          全局变量的说明之前再加上static就构成静态全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上没有区别。区别在于,非静态全局变量的作用域是整个源程序,当一个源程序是由多个源文件组成时,声明的非静态全局变量在每个源文件中都是有效的。而静态全局变量则限制了其作用域,只在其声明的源文件中...

2018-09-06 11:32:24 2267

原创 java的多线程机制

什么是线程?   在操作系统中,通常将进程看作系统资源的分配单位和独立运行的基本单位。一个任务就是一个进程。线程是比进程更小的·执行单位。那什么是线程呢,线程是比进程更小的执行单位,是程序执行流的最小单位。一个标准的线程由线程ID、当前指令指针PC、寄存器集合和堆栈组成。另外线程是进程中的一个实体,是被系统独立调度和分配的基本单位,线程自己不拥有系统资源,只拥有运行中必不可少的资源。线程的...

2018-07-30 10:53:18 774

原创 C++中简单寻路算法的介绍

    首先,每次做一个东西,我们都应该当成一个项目来做,做项目,肯定要明白自己要做什么,寻路算法怎样给代价介绍清楚,就要列好步骤,对项目有个清晰的认识,按照步骤来做,思路很清楚,不容易出错。寻路算法的步骤:1.先做出一个界面      用图形库比较直观    二维数组来实现2. 寻路算法: (1)首先应该有一个辅助二维坐标值和界面中坐标的值一样 (坐标, 是否走过,还应该有值)(2)规定人物走的...

2018-07-12 16:38:45 1024

原创 在c,c++中介绍网络编程基础

    网络编程是指人们利用套接字来实现通信不同计算机之间的互传文件,聊天,图像等,要学习网络编程首先要了解网络基础知识。(一)先介绍OSI七层网络模型。物理硬件层:表示计算机网络中的物理设备。常见的有网卡。数据链路层:将传输的数据进行压缩和解压缩。网络层:      将要传输的数据进行网络传输。数据传输层:进行信息的网络传输。会话层:       建立物理网络的连接。表示层:        将传...

2018-06-14 14:54:19 830

原创 在c++中标准模板库STL的介绍及使用

   STL主要包括容器、迭代器和算法3大部分。STL中其他的内容如算法等,都是围绕容器和迭代器来实现。常用的容器类包括string类、vector容器、list容器和map容器等.string类用于字符串的处理,包括常用的字符串操作,如赋值、复制、粘贴、删除字符以及替换字符等 ,使用string类中的成员函数可以直接的替换原来的库函数,而重载的运算符能比库函数更加方便地处理字符串。string类...

2018-06-03 16:00:22 538

原创 在c++中字符串复制与内存复制之间的区别

1. 编程实现strcpy函数   字符串复制的实现   原型char* strcpy(char* strdest, const char*  strSrc);

2018-06-01 09:42:10 1750

原创 在c++中利用线程编程和关于线程的认识

    为什么要在编程中引入线程?  为了并行的处理多个事情或着说是为了执行多个程序,由此引出了线程。好处:这些线程共同使用当前进程的资源(变量,文件,socket,栈.....);在这里我举一个简单地例子,利用图形库比较明显的说明问题。假如我们现在要在运行界面上显示随机数又要显示当前时间,可以使用多线程来完成。HANDLE    WINAPI  CreateThread(   //创建线程并返回...

2018-05-29 17:17:51 152

原创 给程序界面增加音乐,加载背景照片。

   经过上次分享的图形界面插件,现在给大家介绍一个简单的使用,首先介绍给界面增加音乐,

2018-05-28 23:29:21 457

原创 图形界面编程

                                     图形界面编程    在初期学习c++的时候,我也使用黑窗口进行编程,后来自己想写出一点有界面的程序,自学了图形界面编程和win32GDI图形界面,第一次写博客,如果有什么错误,咱们互相学习,互相探讨。首先,先下载图形界面插件。我自己找到一个插件,绝对是安全的,给大家分享一下,安装后之后,就可以写出有界面的程序。链接:http...

2018-05-28 22:37:14 849 1

Qt6开发的网络通信工具(支持TCP和UDP,TCP群发和单发)

Qt6开发的网络通信工具(支持TCP和UDP,TCP群发和单发)

2023-10-16

空空如也

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

TA关注的人

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