刷新
开源相机管理库Aravis学习——安装

博主头像 目录前言Aravis简介依赖关系说明安装过程meson安装aravis源文件下载构建和安装aravis视频查看器安装过程中遇到的问题meson版本过低CMake版本过低缺少GStreamer组件参考文章 前言 最近在做采集软件的开发,由于我自己使用过Huaray和Basler两个品牌的相机,所以在设 ...

c++基础

博主头像 多文件结构和编译预处理命令 C++程序的一般组织结构 •一个源程序可以划分为多个源文件: 类声明文件(.h文件) 类实现文件(.cpp文件) 类的使用文件(main()所在的.cpp文件) 外部变量 •在所有类之外声明的函数(也就是非成员函数),都是具有文件作用域的。 •这样的函数都可以在不同的编译 ...

泛形variant+visit

博主头像 泛形variant+visit 1.引言 在python里可以让一个变量变成不同的类型,拥有不同的值,且根据不同的类型执行不同的操作,当不同的类型拥有同样的函数时,这样我们就不用再重复写一堆代码了 但如果在c++中实现类似的功能,比较经典的处理方式是用虚函数 + 子类重写的方式, class Bas ...

C++ 运算符全解析:从基础概念到实际应用

博主头像 C++ 运算符 运算符用于对变量和值执行操作。 在下面的示例中,我们使用 + 运算符将两个值相加: int x = 100 + 50; 虽然 + 运算符经常用于将两个值相加,就像上面的示例一样,但它也可以用于将变量和一个值相加,或者将一个变量和另一个变量相加: int sum1 = 100 + 50 ...

使用C++20协程和io_uring优雅地实现异步IO

博主头像 距离2020年已经过去很久了,各大编译器对于C++20各项标准的支持也日趋完善,无栈协程也是其中之一,所以我就尝试着拿协程与`io_uring`实现了一下proactor模式,这篇文章用来记录一下我的设计和想法。除此之外,我们能在网络上找到许多优秀的C++20协程的教程以及许多优秀的协程应用(库),... ...

学会在 C++ 中使用变量:从定义到实践

博主头像 C++ 变量 变量是用于存储数据值的容器。 在 C++ 中,有不同类型的变量(使用不同的关键字定义),例如: int - 存储整数(没有小数点),例如 123 或 -123 double - 存储浮点数,带有小数点,例如 19.99 或 -19.99 char - 存储单个字符,例如 'a' 或 ' ...

C++ 类的内存分配是怎么样的?

博主头像 dynamic_memory 首先通过一段代码来引入动态内存分配的主题。一个名为StringBad的类以及一个功能更强大的String类。 #include<iostream> #ifndef STRNGBAD_H_ #define STRNGBAD_H_ class StringBad { pri ...

C++共享之道:用extern实现源文件变量与类成员函数的巧妙共享

博主头像 概述:在C++中,使用`extern`关键字可实现在源文件之间共享变量与类成员函数。通过声明变量或类在头文件中,再在一个源文件中定义,其他源文件通过`extern`引用,促使模块化、可维护的代码组织。 在C++中,extern关键字可用于在源文件之间共享变量。它告诉编译器某个变量的声明在其他源文件中 ...

ftp多线程下载工具

//代码类似https多线程下载,整体实现逻辑类似,区别比较大的是curl_opt的相关参数设置不一样#include <iostream> #include <fstream> #include <curl/curl.h> #include <pthread.h> #include <sys/mm ...

https多线程下载代码

这里使用了curl网络库和使用多线程来下载对应https链接的文件 对应的.h头文件: #pragma once #include <iostream> #include <fstream> #include <curl/curl.h> #include <pthread.h> #include < ...

C++类循环依赖破解:前向声明与智能指针的妙用

博主头像 概述:在C++中,通过前向声明和指针或智能指针,可以解决类之间的循环依赖问题。这种技术确保了代码结构清晰,有效规避了生成错误。通过示例演示了如何使用这些方法处理类之间相互引用的情况,提升了代码的可维护性和可读性。 在C++中,类之间的循环依赖关系可能导致编译错误。为了解决这个问题,可以使用前向声明( ...

C++中const小结

const 修饰普通变量 表示变量的值不能被改变。下面两条语句(第2行和第3行)表示的意思一致。 int a; const int ca = 42; //int const ca = 42; const 修饰指针 指向常量的指针不能改变其指对象的值。第 5 行代码是错误的。 int a = 42; ...

C++ Qt开发:QProcess进程管理模块

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QProcess`组件实现针对进程的控制管理等。当你在使用Qt进行跨平台应用程序开发时,经常需要与外部进... ...

C++对象切片探秘:派生类对象如何被‘切割’?

博主头像 概述:C++中的对象切片指通过将派生类对象赋值给基类对象,导致派生部分被“切掉”,只保留基类部分。这可能发生在值传递、赋值等操作中。对象切片的基础功能示例展示了派生类对象赋值给基类对象时的现象,而高级功能示例则展示了通过基类指针实现派生类对象的访问和多态。 对象切片(Object Slicing)是 ...

<1···8910···31>