- 博客(177)
- 资源 (12)
- 收藏
- 关注
原创 【Qt流式布局改造支持任意位置插入和删除】
最近在做一个需求需要流式布局,虽然官方example里有一个流式布局范例,但是不能满足我的需求,我需要支持插入的流式布局,所以就改造了下。1、总体难度还行2、代码从官方示例中改进而来,基本能满足我的需求。
2024-11-23 11:16:20
438
原创 【不同平台Qt程序打包发布方法】
Qt程序开发完了面临一个很重要的步骤,那就是如何打包发布。Windows上只要有Inno Setup、Qt Installer Framwork等;Linux主要有AppImage、Deb、Rpm等。今天这篇文章就来讲一讲,介绍下我常用的那些方法。提示:方法很多,只列举一些1、第一种万金油,但是有点LOW2、第二种稍微高大上一点,但是不完美。
2024-10-24 14:24:05
752
1
原创 C++几种工厂模式和实现实例
常写C++代码的人一定对于工厂模式不陌生,今天这篇文章就介绍下几种常见的工厂模式并说明使用场景简而言之,工厂模式是一种设计模式,是对开闭原则编程的一种展现。所有的示例代码基于C++17版本,如果你用了C++11,就会报错,C++11没有std::make_unique这个方法(在memory头文件里)。1、根据个人的场景决定选用哪种方法,除非必要尽量不要使用简单工厂,违反开闭原则,容易引发问题。
2024-10-13 17:06:44
724
原创 【C++几种单例模式解读及实现方式】
单例模式几乎是每种语言都不可少的一种设计模式,今天就针对C++语言来解读下集中单例模式,并给出代码说明。1、C++11以上版本优先使用米尔斯单例,比双重检查锁性能强2、其他场景建议双重检查锁。
2024-10-13 14:41:31
483
原创 Clion使用vcpkg管理C/C++包
Linux上的库基本都可以通过apt或yum等包管理工具来在线安装包,好用是真的好用,无独有偶,windows上也有类似的包管理工具,那就是今天的主角vcpkg,用好vcpkg可以省很多事。vcpkg可以单独使用,也可以集成到IDE,今天就基于Clion讲解。1、总体我觉得是很好的,配置比apt麻烦点,但至少解决了缺乏包管理器的问题2、像那些诞生于类Unix的包比如ffmpeg在windows上也可以直接使用了,如果自己编译的话麻烦不小。
2024-09-21 14:10:02
3615
原创 Jetbrains开发工具使用通义灵码
之前用过tabnine等AI工具,tabnine还行,有免费版,但是效果有限,属于机械式地补全。pro版我没试过。最近发现上线了通义灵码,这个是阿里出的,感觉效果可以,至少超过tabnine免费版了。目前下载量也是一直在增长,重要就是目前免费。1、大家自行体验吧。
2024-09-18 22:13:08
897
原创 Windows使用ffmpeg获取麦克风数据
最近突发奇想,既然ffmpeg那么好用,为什么不能拿到Windows上来用呢?由于ffmpeg官方提供的是二进制文件,不是开发库。之前尝试过很多次移植都失败了,当我准备放弃的时候,突然一次意外发现让我重燃希望。所以ffmpeg在windows上到底好不好用呢?让我们拭目以待吧。ffmpeg:7.01、美中不足,但是对于快速开发足够了,毕竟我觉得ffmpeg还是比自带的好用一些,不知道是不是错觉。
2024-09-03 21:41:31
1159
原创 Windows上使用Inno Setup将应用程序打包成安装程序
有时候我们开发出来的软件是.exe文件+一些dll或配置文件,正常移交给客户就不太妥当了,一般客户需要的都是.exe这种压缩后的安装程序。今天九交给你们一个方法打包安装程序。1、普通的用法够了,其它的用法根据个人需要吧。
2024-09-03 20:44:46
2077
原创 Windows上MSYS2的安装和使用
MSYS2这个工具我是越用越喜欢,很多东西放在Linux上如鱼得水但是放在Windows上就没那么好用,比如ffmpeg,opencv等直接引用就行了,这个工具真的很省事。接下来带你们看看它的妙用。1、好好研究确实妙用无穷。
2024-08-29 23:18:06
2066
原创 交叉编译Qt5.12.8附带编译opengl
最近有个项目使用Qt5的ARM64版,有一种方法是直接在板子上安装Qt5,这种方法最简单,但是板子效率低一些,编译慢,画面也不太流畅所以才切换到交叉编译方向来。这篇文章基于Ubuntu-20.04编译,板子的系统也是20.04,接下来我会给出我的编译心得,包括一些注意事项,请仔细查看,能少走不少弯路。工具:aarch64-linux-gnu-91、本身并不难,找到诀窍才是重要的,选不对版本和工具链够头疼的,还是那句话:尽量维持环境一致性。
2024-08-25 22:29:46
2278
10
原创 mpv播放器在rk3399上配置硬解码
mpv播放器应该来说相当轻量了,但是我研究了下文档发现它确实内有乾坤,可能没想象中那么简单。接下来我就来说说怎么在rk3399上使用mpv硬解码播放视频。虽然官方给了我们gstreamer+mpp实现硬解码,不过这显然是不成熟的方案,对于实际应用上还差点距离。要想真正封装成应用还需要借助SDL2或QT5等工具进一步包装,这个以后可以给一个示例。gstreamer+mpp调用硬解码播放视频注意:这个方法理论上适用于所有使用MPP解码的平台,包括RK3288,RK3588等。
2024-08-23 22:06:16
1196
6
原创 查看linux开发板gpu使用量
有时候我们开发的时候可能需要看下gpu占用,安卓就很简单了,linux稍微有点麻烦,需要开下几个配置文件,这几个文件会随着gpu运行状态的变化内容发生变化。不同的板子可能略有差别,但差不多。1、可以写个脚本或程序将数据图形化2、读不要权限,写要权限。
2024-08-22 09:58:15
355
原创 解决rga拷贝数据慢的一个方法
最近接了一个项目,里面要用到解码,然后切割,旋转和转成rgb。我选择使用mpp+rga形式解决,但是有个问题,rga处理的是无缓内存,将转好的rgb复制过来耗时巨大,思来想去还是要借用rga本身的能力将无缓内存自动复制到有缓内存里面,这个功能确实很好。1、rk3399整体rga性能偏弱,绞尽脑汁也提升不了多少,终究是廉颇老矣。
2024-08-19 21:33:14
423
原创 Icon theme “elementary“ not found.或Icon theme “gnome“ not found.解决
运行Qt5图形的时候报的错,问题很简单,缺少两个theme包,直接安装就行了。
2024-08-18 19:42:27
285
原创 解决firefly rk3399使用ffmpeg硬解码rga报错的问题
注意:这篇文章只对firefly rk3399有效,可能对rk3568和rk3588有效!如果你不是Ubuntu-20.04你最好刷成Ubuntu-20.04,理论上对Ubuntu-18.04也是适用的,只不过我需要使用Ubuntu-20.04,所以就在Ubuntu-20.04上测试了。
2024-08-18 11:04:33
715
原创 firefly rk3399使用ffmpeg硬解码
注意:这篇文章仅针对firefly设备,我在rk3399上操作成功,理论上也适合rk356x或358x系列的,我手上没有这些设备,所以没法测试。今天这个方法比较简单,使用起来也有些限制,但是对于很多人来说够用了。1、实测1080p解码是5-6ms一帧,绝大多数场景够用了。
2024-08-18 10:43:01
1244
原创 C++ Poco框架判断请求方式是GET还是POST
作为服务器开发者GET和POST等Method还是要区分的,不同的请求方法要走不同的逻辑。这篇文章很简短但是基于另一篇文章,如果你已经了解Poco了就不用看了。手把手教你使用Poco框架开发服务器应用1、看似简单的一个小函数却是决定成败的关键。
2024-08-09 22:34:59
411
原创 waveInAddBuffer死锁的大雷解决
从来没有一个bug让我这么抓狂,足足查了3天3夜,官方文档翻了一遍说的基本无用。具体项目就是使用waveIn系列函数获取windows系统麦克风数据,虽然windows上有好几种方法获取麦克风数据,我最终还是选择了它。
2024-08-09 22:17:47
890
原创 C++ Poco服务端框架中JSON的使用
上面一篇文章教你学会了Poco开发服务端应用,这个教程教会你使用JSON。一般传JSON的时候都是POST请求,很少有人把JSON序列化放在GET请求里,不安全。如果你不会开发服务端就先看下下面的文章,通俗易懂。我直接开门见山了,默认环境已经有了。手把手教你使用Poco框架开发服务器应用1、最后的总结才是最核心的部分,特别适合初学者,能少走很多弯路。
2024-08-08 21:26:26
960
原创 手把手教你使用Poco框架开发服务器应用
最近接触一个服务器项目,想来想去还是用C++来开发,C++应该来说没有像Spring那么顶顶大名的的框架,但是好的框架还是有的,要不然纯手写服务器要开发到什么时候。今天选的Poco就是相当不错的一个框架,不说多丰富吧,至少开发服务器用到的东西都有了。接下来从0开始教你使用Poco开发服务器应用1、Poco很强大我演示的只是冰山一角,后面我还会演示Poco的其它功能,今天的Demo只能说很简单。
2024-08-06 23:01:59
983
原创 解决Poco找不到MySQL::client的问题
最近在研究Poco,一个很强大的C++库,当我要使用MySQL的时候找不到,解决这个问题其实很简单,不需要大费周折。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2024-08-02 18:03:55
459
1
原创 使用pulseaudio库简单获取麦克风数据
有时候我们需要在Linux系统上获取麦克风声音数据,也有些情况下我们需要多个应用同时获取麦克风数据或者一个应用同时获取多个麦克风的数据这些都是可以实现的,我们只要使用今天的主角就行了PulseAudio。1、这些是简单应用,还有复杂的以后再说包括混流等等2、可以随意打开任意多个client指向同一个麦克风设备,alsa默认做不到。
2024-07-30 18:18:33
323
原创 Powershell自定义带参数的别名
之前写了一篇文章定义别名让powershell尽可能接近Unix风格,增强两者的互操作性,今天给出方法可以定义带参数的别名。1、设置难度不大,功能受到一定的限制。
2024-07-29 18:50:23
325
原创 powershell自定义命令别名
有时候在windows上使用powershell时候常常苦于别名问题,像我这样的习惯Linux的命令的人感觉很别扭,所幸powershell自己内置了一些别名,但是还远远不够,特别是我希望定义一些和Linux上几乎一样的命令比如mkdir(powershell内置叫md)、mv(powershell内置叫move)这一类的就需要手动操作了。终于到这一步了,我这里使用的是powershell7,powershell2可能略有差别,但是我个人还是喜欢powershell7,所以所有的都是基于7的。
2024-07-26 18:52:18
954
原创 Windows系统上Clion配置Qt5
对于qtcreator我有很多地方需要吐槽,很多设计我觉得真的可以好好参考下jetbrains,因为我从eclipse时代过来的,这个软件让我感觉比eclipse还难用。对比起来jetbrains的基于JVM的骚操作也不是那么难以接受了。废话不多说,Clion配置Qt5除了form的功能没有(我没配出来),其它我感觉强过qtcreator,接下来有需要的小伙伴可以看下我的操作,假如你真的想这么用的话。1、这种方法配置很简单,Clion会处理大部分工作,比如一些基础库地引用,如果使用其他库直接追加就行了。
2024-07-26 17:17:08
549
原创 qtcreator优化代码补全功能
对比Clion感觉它这个代码补全不太好用,至少没有jetbrains全家桶智能。不过我们可以通过调整下参数来优化效果。1、有一定的提升,但是还是有明显的延迟,不知道是不是设计缺陷还是我漏了参数2、臂jetbrains系列有差距。
2024-07-25 18:45:39
517
原创 C++对象模型之绕过private权限修饰符
咱们都知道C++语言在创建类的时候data member(数据成员)和fuchtion member(函数成员),在访问权限上有3个分别是privateprotected和public,我们都知道声明为private的成员只能在类内部被使用,但是这是一定的吗?其实这个策略上有一个漏洞,要了解这个漏洞你要理解C++的对象模型,这篇文章只是给你演示怎么理解对象模型,绝不是教你学坏这种方法在实际开发中不可取!1、C++的内存模型是相对复杂的概念,如果你想了解原理又绕不过去。
2024-07-22 21:00:47
715
原创 Windows11配置WSL2支持代理上网
说起来本来这个功能我也不需要的,只是最近突然有个需求就顺便研究了下,WSL2默认的网络方式是NAT,即WSL2的网卡本身是虚拟网卡,通过以太网或WIFI的地址转换来上互联网,我试了下是不能直接走代理的,最近比较忙没具体研究,但是我用另一种方式实现了,下面介绍给需要的人。注意:这个方法只能是WIndows11系统,WIndows10系统上的WSL2缺少了一项功能导致不可用。1、方法总体没什么难度,NAT方式暂时没研究透,后续有时间再研究2、WIndows10系统不支持mirrored,暂时需要另辟蹊径。
2024-07-09 22:08:33
5644
原创 WSL2编译使用6.6版本内核
最近出了一件不大不小的事,WSL2的内核又更新了,上次编译还是在5.10版本时,当时为了解决不能使用USB设备的问题,想想已经是好几年前的事情了。最近微软发布了6.6内核,今天就带着不太会的小伙伴体验下6.6的内核。1、不难,甚至很简单,我每次都是一把成功。
2024-07-09 21:40:06
1735
原创 【解决Windows11系统Windows Hello不能使用的问题】
最近买了一个Windows Hello摄像头,结果跟我说找不到合适的摄像头,经过多方研究终于解决了,说起来也狗血,这事情本来不应该发生的,只因为我做了一件事情。1、我使用中遇到的所有问题都得到了解决,如果你有解决不了的问题可以留言我们一起研究。
2024-07-08 21:17:31
11143
9
原创 C++一文讲透thread中的detach和join的差别
无论哪种语言线程在绝大多数项目中都是会用到的,C++也一样,C++包装了一个std::thread类可以简化程序员的编程,但在使用过程中也要注意区分用法,否则可能适得其反。今天要讨论的就是单纯的thread的join(等待)和detach(分离)两种情景,让不懂得人看完之后茅塞顿开。不管哪种方式启动的线程都要保证资源的回收,特别是当心主线程早于子线程结束的情况。
2024-06-19 18:12:19
1197
原创 一文讲透C++的volatile关键字
我们平常使用C++编程的时候可能volatile关键字用的并不多,这个关键字特性在底层硬件编程中用的很多。表示变量可能在程序控制之外被改变,例如被硬件中断或者其他程序所修改。因此,编译器在每次访问该变量时都会重新读取它的值,而不是使用缓存的值。所以它的主要特性就是每次访问都重新读取它的值,而不是使用缓存的值。1、volatile主要用于底层硬件编程,平常编写代码不一定用得上。2、volatile也可能进cache或寄存器,不保证同步,没有原子性,不保证内存顺序。
2024-06-18 17:20:15
435
原创 gstreamer+qt5实现简易视频播放器
最近在研究mpp,通过gstreamer实现了硬解码,但是我在想我可能需要一个播放器,我之前学过qt5所以就选择了qt5来结合gstreamer开发一个简单的播放器。今天的环境基于Windows,后续会把Linux的也补上的。注意:基于QT5,我觉得因为全平台特性,可能QT5比MFC还是有优势,代码只需要小改就可以轻松移植。1、不算太难,复杂的应用还需要继续琢磨。2、Windows上还是简单,我最终的目标是在开发板上实现gstreamer+qt5+硬解码播放,开发板上没有统一的接口。
2024-06-18 11:24:16
1495
原创 dos格式文档转unix格式
有时候我们在windows上编译的文件(主要是文本文档)拿到Linux(类Unix系统)上会发现出了很多乱码,这是因为两个系统上默认的格式有差异,不要着急,简简单单改下就行了。1、很简单却很实用,建议在操作前进行转换省去很多麻烦。2、还有个工具叫unix2dos,默认安装了dos2unix就会伴生安装,其实就是转回来的意思。
2024-06-17 17:33:09
1047
原创 Windows11安装并使用Gstreamer-1.0
Gstreamer这个工具的重要性就不用多说了吧,在一些视频播放和解码领域大放异彩。以前更多的是在Linux环境下使用它,今天介绍下在Windows环境使用。1、方法蛮简单的,用来当测试工具蛮好的,和主流播放器还有差距。
2024-06-16 20:52:10
2408
1
原创 gstreamer+mpp调用硬解码播放视频
以前一直在MPP上开发硬解码推理,最近想弄一个盒子支持调用mpp硬解码播放视频的。我使用的盒子是firefly的rk3399,这个板子的cpu说强也不强,说弱也不算太弱。1、目前实现了视频播放,接下来研究chrome硬解码和播放器硬解码。
2024-06-06 21:05:07
1376
原创 C++结合ffmpeg获取声音的分贝值
最近面对一个需求,就是需要传递声音文件到模型里推理完成语音转文字,问题是我们使用的是麦克风啊,由于这个特殊属性就需要有一个合理的方法来判断声音的开始,声音的结束和声音的长度。像科大讯飞这样的库已经有这个功能了,如果遇到没有这个功能的怎么办,还得靠自己。方法其实有很多,我们这里使用根据分贝来判断,首先就需要获取到分贝。1、代码完全基于单声道音频,没对多声道进行处理,理论上除了参考值不同对多声道音频也是能处理的。
2024-06-04 15:18:24
1389
原创 香橙派 AiPro硬解码能力详细测试
拿到这块开发板的时候号称可以同时硬解码20路1080p@30fps,事实是否真的如此,让我们拭目以待。1、官方诚不欺我,事实如此。2、编码能力标称是20路1080p@30fps,有时间再测测。
2024-05-30 15:05:19
717
原创 香橙派 AiPro通过Micro USB接口进行串口调试
最近在玩一个新玩具香橙派 AiPro,除了通过SSH方式连接开发板以外,它其实还有个Micro USB口接到了UART上,可以仅仅借用一条数据线轻松进行串口调试。1、蛮简单的。
2024-05-28 20:30:27
1078
2
MegaCLI的多操作系统版本
2024-02-29
WinSW启动程序和配置文件
2023-11-30
PulseAudio压缩包
2023-07-12
torchvision-0.4.2-cp36-cp36m-linux_aarch64.whl
2020-06-17
torch-1.3.0a0+de394b6-cp36-cp36m-linux_aarch64.whl
2020-06-17
torchvision-0.3.0-cp36-cp36m-linux_aarch64.whl
2020-06-17
torch-1.1.0-cp36-cp36m-linux_aarch64.whl
2020-06-17
tensorflow-2.0.0rc0-cp36-cp36m-linux_aarch64.whl
2020-06-16
tensorflow-1.10.zip
2019-11-30
aarch64可用的bazel-0.15.0
2019-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人