自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux网络编程-HTTP编程

Linux网络编程(HTTP协议)Linux网络编程----http网络编程之http服务器(C/C++)(基于libevent实现)使用c++手把手实现一个简单的http服务器

2024-08-10 20:35:28 158

原创 在C++程序中使用MYSQL数据库

句柄类,所有数据库相关的操作都会使用到这个句柄。

2024-08-10 20:05:10 299

原创 Linux构建C++环境

编译多个文件的古老方法就是编写makefile,用于说明各个c++文件的依赖关系,然后用一款make软件来构建程序,make会用到makefile文件(需手动编写)和g++编译器。头文件(.h)都放到include文件夹,源文件(.cpp)包括main.cpp都放到src文件夹。主要含义就是:把include文件夹当作头文件目录,把src当成源文件目录,使用c++11的标准。因此更现代的构建工具cmake应运而生。:编译C++时要使用g++编译,使用gcc可能会有一些链接和定义的问题出现。

2024-08-10 19:22:52 1007

原创 Linux 服务器开发参考-c++

在C++开发中,原生的线程库主要有两个,一个是C++11提供的< thread>(std::thread类),另一个是Linux下的(pthread类)- 线程池概念及优点。

2024-08-10 19:21:08 357

原创 Linux网络编程-epoll

该文件描述符用于随后的所有对epoll的调用接口。每创建一个epoll句柄,会占用一个fd,因此当不再需要时,应使用close关闭epoll_create()返回的文件描述符,否则可能导致fd被耗尽。使用时,用户可以将自己需要的数据存放到这个字段中,当事件触发时,epoll系统调用会返回这个数据,以便用户处理事件。函数的返回值为 0 表示操作成功,-1 表示出现错误,具体的错误信息可以通过检查 errno 变量获得。data字段表示用户数据,它的类型是一个union,可以存放一个指针或文件描述符等数据。

2024-08-10 19:17:12 772

原创 C++协程基础

通用的说法是协程是⼀种“轻量级线程”,用户态线程”。可以减少用户态与内核态的切换,相当于一个花里胡哨的函数。协程的本质就是函数和函数运行状态的组合。函数一旦被调用,则只能从头运行到结束协程可以执行到一半退出(yield),暂时让出CPU执行权;在后面适当时机可以重新恢复运行(resume)。这期间CPU可以运行其他协程。协程能够半路yield、再重新resume的关键是协程存储了函数在yield时间点的执⾏状态,这个状态称为协程上下文。通过记录当前执行状态下CPU全部寄存器的值来实现。

2024-08-08 20:14:15 817

原创 Linux网络编程-socket网络编程

每创建一个epoll句柄,会占用一个fd,因此当不再需要时,应使用close关闭epoll_create()返回的文件描述符,否则可能导致fd被耗尽。使用sockaddr_in结构体时,需要将其类型转换为sockaddr类型,因为套接字API中的大多数函数都需要传入sockaddr类型的指针作为参数。使用时,用户可以将自己需要的数据存放到这个字段中,当事件触发时,epoll系统调用会返回这个数据,以便用户处理事件。如果函数调用成功,会返回一个标识这个套接字的文件描述符,失败的时候返回-1。

2024-07-30 15:53:38 939

原创 Linux网络编程-多线程编程

在C++开发中,原生的线程库主要有两个,一个是C++11提供的< thread>(std::thread类),另一个是Linux下的(pthread类)信号量主要就是用来保护共享资源的,也就是说如果你想限制某个(些)资源在同一时刻只能有一(多)个线程拥有,就可以使用信号量。当然也可以用作让一个线程等待另一个线程完成某项工作。主要用下面一组函数(系统调用)来实现。

2024-07-30 15:53:14 369

原创 tinyWebServer代码详解

以tinyWebServer为例,按代码逻辑顺序对代码进行详解。

2024-07-30 15:50:35 1047

原创 C++基本使用

包括C++版本介绍、基本使用、进阶使用、STL库、其他库等的使用

2024-07-24 18:04:28 163

原创 C\C++输出格式

以“%”开头,后面跟格式字符,格式字符前面还可以有其他修饰符,表示输出数据的宽度、精度等。格式说明符的个数必须与后面的参数 argument 的个数一致。5)length 表示整型数据是长整型还是短整型,length。4)precision 表示单精度和双精度浮点数的小数点个数。在C/C++中可以通过特定的符号来输入一个变量。3)width 控制数据输出的宽度。

2024-07-24 17:40:25 165

原创 Windows 安装 PCL

然后改成bat文件,双击获得一个release.txt或者debug.txt文件,这样就可以把当前目录所有的lib文件名都写在txt文档中了,否则要一个一个输入进去,非常的麻烦。将pcl-1.13.0-pdb-msvc2022-win64.zip文件解压缩,将pdb文件全部复制到PCL安装目录下的bin文件夹中。点击下载的PCL-1.13.0-AllInOne-msvc2022-win64.exe进行安装。配置包含目录:VC++目录——包含目录。配置库目录:VC++目录——库目录。

2024-06-25 21:37:50 1069

原创 Linux git

这个命令会尝试合并上游仓库的master分支的更改,即使这两个分支的历史记录完全不相关。请注意,这种合并可能会很复杂,并可能不是你想要的。登录自己的github账号,新建仓库,添加或不添加README.md,根据需求,设置名称、权限等内容。:代码的commit历史会在文件夹里的隐藏文件夹 .git 里记录,通过git log可以查看。:Git认为你正在尝试合并两个没有共同祖先的分支,这通常意味着它们完全是不同的项目。:在上传代码到远程仓库之前,应该先将远程仓库更新的代码拉取到本地。

2024-06-23 20:13:49 1066

原创 Linux 使用 MySQL

记录个人在Linux ubantu上安装mysql的过程

2024-06-23 17:43:37 1009

原创 Linux基本使用

Linux的基本使用

2024-06-10 18:25:22 713

原创 双目相机标定、校正及匹配过程

总结双目视觉从标定到校正到匹配的过程中所用到的一些函数及方法

2024-06-03 16:20:49 1429 1

原创 HDR图像合成及边缘检测(opencv 和 c++)

有时色调映射的目标是产生逼真的图像,而且往往是产生超现实图像的目标。公式里用到了exp函数,图片默认是unsigned char型,范围是0-255,公式中的0.5是0-1范围内的,所以需要将原图像转换为double型,将灰度值都转换为0-1之间,就可以利用该公式进行相应的运算。处理完以后,图像还是CV_64FC3类型,如果直接保存,点开图像会发现,显示全黑,这是因为电脑默认打开图片是CV_8UC3类型的,所以还需要将CV_64FC3乘以255,再转换为CV_8UC3。第三个参数也可理解为输出图像的类型。

2024-05-06 21:50:05 1446 2

原创 树莓派开发过程记录

1.准备TF卡16g及以上为好TF卡插入电脑后只显示几十M这时候可以利用DiskGenius对TF卡进行格式化,取消分区然后重新建立分区此时重新显示TF大小为8G2.镜像的下载与写入镜像的下载打开树莓派官网https://www.raspberrypi.org/在其导航处可看到下载下载后解压,可得到一个img文件。镜像的写入镜像的写入需要使用工具Win32DiskImager打开后确定写入的盘符无错,然后浏览文件选择刚下载下来的镜像文件,点击write进行写入写入成功后,该TF

2021-04-14 16:14:06 419

空空如也

空空如也

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

TA关注的人

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