- 博客(44)
- 资源 (2)
- 收藏
- 关注
原创 解决 GLIBCXX 版本不匹配的问题
解决 GLIBCXX 版本不匹配错误的步骤:查找 GLIBCXX 版本、确定对应 GCC 版本、下载源代码、编译安装 GCC、替换系统库文件、更新链接器缓存。按此解决方案,您能解决 "/lib64/libstdc++.so.6: version `GLIBCXX_x.x.xx' not found (required by ./appname)" 类似错误。详细步骤指导您在目标机器上重新编译代码,使用与目标机器 GLIBCXX 版本相符的 GCC 版本。解决 GLIBCXX 版本不匹配问题,请参考本文指南。
2023-07-18 09:43:58
2413
原创 使用C++计算地理区域内的瓦片坐标
通过将经度和纬度转换为对应缩放级别下的瓦片X和Y坐标,可以确定该区域涉及的所有瓦片。使用一个简单的瓦片计算器类,通过提供两个坐标点和缩放级别作为输入,可以计算出该区域内所有瓦片的坐标。详细的代码示例和注释解释了经度和纬度到瓦片坐标的转换过程,帮助读者了解该算法的原理和实现方式。最终,计算出给定区域内的瓦片坐标并输出。通过计算出两个坐标点对应的瓦片坐标范围,可以得到该范围内的所有瓦片坐标,并输出结果。计算瓦片坐标的原理是将地理坐标(经纬度)转换为对应缩放级别下的瓦片坐标。是总的瓦片数(2的zoom次方)。
2023-06-18 18:39:07
556
原创 使用 SCP 工具在 Windows和Linux之间进行文件传输
SCP是一种基于SSH协议的安全文件传输工具,它可以在Windows和Linux之间进行文件传输。在Windows上,你可以使用SCP客户端软件(如WinSCP)进行操作,或者使用命令行工具如PSCP。在 windows 系统上面安装系统自带的 OpenSSH 工具。这将从远程服务器复制文件到本地系统的指定目标路径。找到 OpenSSH 进行安装。是远程服务器的主机名或IP地址,是文件要复制到的远程目标路径。是本地系统中的文件路径,是远程服务器的用户名,
2023-06-18 15:48:15
9999
原创 导航雷达回波信号格式和目标检测算法
多普勒信息(Doppler):当目标有相对雷达的速度时,由于多普勒效应,回波信号的频率会发生变化。通过分析回波信号的多普勒频移,可以获取目标的相对速度。角度信息(Azimuth / Elevation):导航雷达利用天线的指向性和波束宽度来确定目标的方位角(Azimuth)和俯仰角(Elevation)。距离信息(Range):雷达发送的电磁波与目标相互作用后,反射回的信号被雷达接收。强度信息(Intensity):回波信号的强度与目标的大小、形状、距离、雷达功率等因素有关。
2023-03-24 21:41:31
2028
原创 C++ std::thread 如何使用?
C++11中的std::thread类是一个强大的多线程编程工具,它可以帮助我们轻松地创建和管理线程。通过std::thread类,我们可以实现线程的创建、启动、停止、等待和同步等操作,并可以使用各种机制来处理线程中的异常和实现线程间的通信。在使用std::thread类时,我们需要注意以下几点:线程函数必须是可调用对象,如函数、函数指针、函数对象等。线程函数的参数必须是可拷贝的,否则需要使用std::ref包装。线程对象必须在主线程中加入join或detach,否则会导致程序异常。
2023-03-16 16:59:58
2618
原创 什么是 MQ?
消息队列 (MQ) 是在微服务架构中使用的异步服务到服务通信协议。在 MQ 中,消息被排队,直到它们被处理和删除。每条消息只处理一次。此外,MQ 可用于解耦重量级处理、缓冲和批处理工作。消息队列提供系统不同部分之间的异步通信和处理。它还提供了一个轻量级缓冲区用于临时存储消息,以及用于连接到队列的端点(发送和接收消息)。
2022-09-24 16:37:30
2815
原创 onvif digest 鉴权过程分析
头信息(onvif 设备生成的随机数),客户端拿到该数据后根据下面公式计算 digest,再次请求,同时携带计算的 digest 数据即可成功请求。客户端第一次请求 onvif 设备,如 onvif 设备验证 Authorization 失败,则响应 401,同时响应头包含。实际调用直接在 http 中添加 Authorization header 即可。digest 计算部分如下。......
2022-08-16 12:55:34
1882
原创 海康威视摄像头 rtsp 地址格式
海康威视摄像头 rtsp 地址格式单播取流格式 `rtsp://{username:password}@{ip:port}/Steaming/Channels/{number}`多播取流格式 `rtsp://{username:password}@{ip:port}/Streaming/Channels/{number}?transportmode=unicast`流格式主要由三部分组成:* 用户名和用户密码* 目标地址和端口号* 通道号和主次码流number = 由通道号 +...
2022-06-17 16:58:03
5620
原创 android NDK 如何使用 JNI 与 Java&Kotlin 语言交互?
android NDK 如何使用 JNI 与 Java&Kotlin 语言交互?主要三种情况自带 JNIEnv 上下文,例如这种参数声明 extern "C" JNIEXPORT void JNICALLn ame(JNIEnv *env, jobject thiz){}主线程反射调用 java/kotlin其他线程反射调用 java/kotlin情况 1 直接使用即可。情况 2 通过 android Global JavaVM 获取当前 JNIEnv,例如使用函数 jint Get
2022-05-29 13:27:21
424
原创 使用 c++ 如何一行行的读取文本数据?
使用 std::getline 函数读取文件行。https://en.cppreference.com/w/cpp/string/basic_string/getline下面进行不同写法读取文件行的方式的比较。for (std::string line; std::getline(ifs, line);) {}VSwhile (!ifs.eof()){ std::string line; std::getline(ifs,line);}实际使用时选择方式一即可。#include &
2022-05-18 14:01:09
5395
原创 intel CPU 命名含义
https://www.intel.com/content/www/us/en/processors/processor-numbers.html
2022-04-02 11:07:00
344
原创 watch 50 行代码实现 windows watch
最近想监控 gpu 使用情况,无奈在 windows 上没有 watch 指令,那么为何不自己写个工具来监控呢。如下图可以看到 gpu 温度和功耗的变动情况下面使用 50 行代码来实现 watch nvidia-smi 功能。
2022-03-22 00:53:10
679
原创 C++ 崩溃时导出堆栈信息并使用调试工具定位问题 ?
C++ 崩溃时导出堆栈信息并使用调试工具定位问题 ?1. 生成该程序,运行该程序,非 IDE 调试器运行,会自动在程序目录生成 .dmp 后缀的文件。2. 使用 使用 winDbg 调试工具打开 .dmp 文件输入 !analyze –v 指令即可看到详细的分析信息...
2022-03-12 14:10:39
855
原创 使用 golang xml 标准库转换 SeaShips(7000) 数据集 标注文件格式 到 YOLO数据格式
使用 golang xml 标准库 160 行代码转换 7000 张图片的标注文件。rect => <object-class> <x_center> <y_center> <width> <height>最近需要使用 yolov4 训练该数据集,然后输出一个船舶识别数据模型,所以写了一个小小工具来进行标注文件格式转换。转换后的效果可以使用上次写的标注工具查看一下。package mainimport ( "encodi
2022-02-21 15:42:32
1050
4
原创 在 windows 上如何根据 dll 动态库生成 lib 文件?
在 windows 系统平台上,dll 动态库没有提供 .lib 文件,又不想动态获取函数地址怎么办?使用 lib.exe 工具可以根据 .def 定义文件生成 .lib 文件。例如,我这里有一个 test.dll 动态库文件,我想要生成 lib 链接库文件可以这样操作。打开 Developer Command Prompt for VS 2022 开发工具命令行,用来设置运行变量。使用 dumpbin.exe /EXPORTS test.dll > test.txt ,此时会把输出重定向
2022-02-19 16:28:52
9751
原创 使用 golang 标准库不到 200 行代码实现 yolov4 项目脚手架命令行工具
DarknetConfigDarknetConfig 是一个创建 darknet 神经网络配置文件项目的便捷工具。Usage of DarknetConfig.exe: -batch int batch default value 64 (default 3) -classes int classes default value 3 (default 3) -height int height default value 608 (defaul
2022-02-11 11:03:10
1591
原创 c++ 使用模板 9 行代码实现简单的 print 函数
c++ 使用模板实现简单的 print 函数。需要 C++17 以上。template<auto Sep = ' ', typename First, typename... Args>void print(const First& first, const Args&... args) { std::cout << first; auto outWithSpace = [](const auto& arg) { std::cout <<
2022-02-09 18:11:28
1037
原创 git 在不同平台开发如何设置换行符处理标志?
git 在不同平台开发如何设置换行符处理标志?git 为了保持仓库文件的换行符统一,提供 core.autocrlf 供用户设置。在 windows 平台开发,设置 git config --global core.autocrlf true 即可。在 linux 和 mac 平台开发,设置 git config --global core.autocrlf input 即可。core.autocrlf设置成 ture 时,commit 时会自动将 CRLF 转换成 LF;checkout 时会
2022-01-14 18:00:59
429
原创 Golang 如何实现一个简单的反向代理服务器?
Golang 如何实现一个简单的反向代理服务器?https://dev.to/b0r/implement-reverse-proxy-in-gogolang-2cp4
2022-01-13 12:23:37
408
原创 C++ flc 频率控制器
flc 是一个频率控制器,用来解决一些需要控制函数单位时间调用次数的问题。// frequency limit controller FLC #include <chrono>#include <ratio>#include <thread>// FPS or Hz per second/*! FLC<5> flc;//5Hz flc.run();*/template<std::intmax_t FPS>clas
2021-12-31 10:29:41
588
原创 Vi编辑器的基本使用
默认 vi命令状态 Insert键切换编辑状态重点内容Vi编辑器常用命令: 1.进入Vi的命令 - vi filename:打开或新建文件,并将光标置于第一行首。 - vi +n filename:打开文件,并将光标置于第n行首。 - vi + filename:打开文件,并将光标置于最后一行首。 - vi +/pattern filename:打开文件,并将光标置于第一个与pat
2016-05-05 13:25:02
475
原创 Linux rpm命令教程
rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。 安装:rpm -ivh xxx 移除:rpm -e xxx 升级:rpm -Uvh xxx 查询: 查询所有安装的包: rpm -qa 查询某个包:rpm -qa | grep xxx rpm -qi xxx 查询软件的安装路径:r
2016-04-30 17:48:02
504
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人