- 博客(171)
- 收藏
- 关注
原创 设置git默认的remote branch
修改对应的本地分支下的merge就可以了,例如我这里从merge = refs/heads/dev修改为merge = refs/heads/dev_new。选择TortoiseGit的Settings,选择Edit local .git/config。使用TortoiseGit提交代码时,每次默认的的remote branch都不是想要的分支。
2024-08-16 09:58:29
318
原创 QT嵌入支持WEBRTC的网页
就可以开始进行QT上的带视频的网页相关开发了,下面的例子在QT界面插入网页,网页里调用了getUserMedia获取本地视频。本文主要讲在QT开发中,WEBRTC网页版通信的第一步,浏览器与媒体设备(即麦克风和摄像头)的交互的实现。先编译好支持音视频的QtWebEngine或QCefView的其中一个,编译过程可参考。MainWindow.cpp 下面代码直接给了权限,也可以根据实际情况给权限。即可在QT的界面上显示出本机视频设备的视频。即可在QT的界面上显示出本机视频设备的视频。
2024-07-17 15:11:20
1300
原创 编译QCefView + Win10_x64 + QT5.15.0 + VS2019
属性里面NTDDI_VERSION=NTDDI_WIN10_FE,NTDDI_WIN10_FE感觉是系统版本,不知道是不是我环境配置问题,没找到NTDDI_WIN10_FE的定义,就直接把属性里改成了NTDDI_VERSION=0x0A000006。添加QTDIR的环境变量,因为是vs2019,想编译64位的,选择了下面的路径。为了在QT里面显示网页,并在网页里面支持WEBRTC,编译QCefView。cmake,根据系统下载,我Win10_x64下载的下面这个,直接安装。打开生成的工程进行编译即可。
2024-07-17 13:29:08
638
原创 编译支持音视频的QtWebEngine + Win10_x64 + QT5.15.0 + VS2019
1.参考网上修改了WIN10系统和VS2019为英文,还是会报各种错误,可能本机环境不干净,为了环境干净,装了个WIN10_X64的虚拟机,直接选的英文安装,给了200G的硬盘空间,4G的内存。x64_x86 Cross Tools Command Prompt for VS 2019 如果你的系统是64位,要编译32位。x86_x64 Cross Tools Command Prompt for VS 2019如果你的系统是32位,要编译64位。5.添加环境变量如下图。
2024-07-05 17:23:17
1130
1
原创 VSCode远程调试linux环境的C/C++(三)
前面试着远程调试了个简单的C++程序,但实际项目模块很多,还用了很多第三方库,本来说是学习下CMAKE的,后来想着tasks.json中既然可以定义先cmake再make,那我本来已经make过的项目可以只选择make就可以了,再配置个launch.json是不是也可以加断点调试了,试了下果然可以,这比linux下调试方便多了。先打开整个项目的文件夹,按F5,选择添加launch.json,把以前的sh启动脚本放到launch.json里。再跟前一篇一样F9加断点,F5开始跑就可以单步调试了。
2024-02-29 15:58:09
629
原创 VSCode远程调试linux环境的C/C++(二)
点击最左边的Run and Debug或者按F5即开始执行,可按F9加断点,左边可以看到停在断点时的堆栈,其它跟VS一样,可以按F10单步调试了。vscode里框架如下,刚开始没有lauch.json,点击最左侧的Run按钮可自动生成个,我自己添加了tasks.json。tasks.json代码如下,给出了linux下执行步骤,先cmake,再make,再build。launch.json代码如下,根据路径修改了 "program"安装成功后开始写代码测试,先写个最简单的,文件结构如下。
2024-02-28 14:24:12
798
原创 vmware上安装了ubuntu20的后续处理
命令行执行 sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf ,增加如下配置。命令行执行 sudo gedit /etc/pam.d/gdm-autologin,注释下图框出的行。命令行执行 sudo gedit /etc/pam.d/gdm-password,注释下图框出的行。命令行执行 sudo gedit /etc/gdm3/custom.conf,修改下面几行。修改/etc/gdm3/custom.conf。
2024-02-23 16:31:31
987
转载 C++11并发编程-条件变量(condition_variable)详解
是条件变量,更多有关条件变量的定义参考维基百科。Linux下使用Pthread库中的函数提供了与条件变量相关的功能,Windows则参考MSDN。当对象的某个wait函数被调用的时候,它使用(通过std::mutex) 来锁住当前线程。当前线程会一直被阻塞,直到另外一个线程在相同的对象上调用了函数来唤醒当前线程。对象通常使用来等待,如果需要使用另外的lockable类型,可以使用类,本文后面会讲到的用法。// 全局互斥锁.// 全局条件变量.// 全局标志位.while (!
2023-08-17 14:47:16
499
转载 C++多线程启动、暂停、继续与停止
C++11标准以后,加入了线程相关的接口,在应用中经常需要使线程暂停,在windows API中可以使用suspend 使线程挂起,但容易产生一些意想不到的问题,官方并不推荐使用。在自动化设备中,设备在运转过程中,为了防止设备伤人,通常会在设备门入口安装光幕,当光幕被遮挡时,设备必须暂停,确保安全的情况下,按下继续按钮,设备继续运转。对于多工位的设备,每个工位可能交由一个线程处理,因此暂停时,需要令这些线程暂时挂起。运行程序,单击开始后,编辑框中正常计数,但在线程退出时,阻塞在 join() 函数。
2023-08-17 10:39:20
1764
转载 Linux编程之epoll
现在有这么一个场景:我是一个很忙的大老板,我有100个手机,手机来信息了,我的秘书就会告诉我“老板,你的手机来信息了。”我很生气,我的秘书就是这样子,每次手机来信息就只告诉我来信息了,老板赶紧去看。但是她从来不把话说清楚:到底是哪个手机来信息啊!我可有100个手机啊!于是,我只能一个一个手机去查看,来确定到底是哪几个手机来信息了。这就是IO复用中select模型的缺点!老板心想,要是秘书能把来信息的手机直接拿到我桌子上就好了,那么我的效率肯定大增(这就是epoll模型)。
2023-07-10 10:39:43
147
转载 Linux编程之select
参数说明:maxfdp:被监听的文件描述符的总数,它比所有文件描述符集合中的文件描述符的最大值大1,因为文件描述符是从0开始计数的;readfds、writefds、exceptset:分别指向可读、可写和异常等事件对应的描述符集合。timeout:用于设置select函数的超时时间,即告诉内核select等待多长时间之后就放弃等待。timeout == NULL 表示等待无限长的时间/*秒 *//*微秒 */返回值:超时返回0;失败返回-1;成功返回大于0的整数,这个整数表示就绪描述符的数目。
2023-07-07 16:37:32
837
原创 Linux串口获取完整的数据包
或者获取到指定的标志位之类。但是我这因为设备上协议已经固定,没有特别的标志位,数据还是变长的,并不主动上报消息,只有在下发指令后要及时获取回应的消息,所以这些方法都不太适用。只好给了个合适的时间段,获取该时间段内收到的数据。收消息的时候标志位读数组中相应串口的标志位,为true就开始计时并循环收消息,直到规定的时间为止,因为我收到的数据都不长,所以给了50ms的时间,此处可根据收到数据量的多少调整时间长度。发消息的时候设置标志位通知开始收,因为我这有多个串口,所以用map记录了标志位。
2023-07-07 10:40:58
375
原创 微信小程序scroll-view的bindscrolltolower事件不生效
最近学习微信小程序,用到了scroll-view控件,发现bindscrolltolower事件总是不能触发,修改后可正常触发了,注意下面几点。
2023-06-26 10:40:38
1913
转载 十个接私活赚外快的网站,你有技术就有钱
随着互联网的发展,程序员兼职越来越普遍。但在找兼职之前,我希望大家先了解一些做兼职可能踩的坑,免得瞎子上山,一脚深一脚浅。下面就有这么三接四不接,希望你能看看,如果对你有那么一点点的帮助,也算对得起我这么多年的血和泪和着我掉过的头发:·三接有信得过的同事、朋友或者亲戚参与在内的项目,可以接。自己身边的人总归靠谱些、也让人放心些。已经开发的七七八八,只需调试、增减功能或者迭代的,可以接。这样的项目,虽然熟悉别人的代码可能需要点时间,但是谈需求谈价格的时候真的很轻松。
2023-06-25 13:16:25
2959
原创 微信小程序 HBuilderX
如果报错:[微信小程序开发者工具] [error] 工具的服务端口已关闭。要使用命令行调用工具,请在下方输入 y 以确认开启,或手动打开工具 -> 设置 -> 安全设置,将服务端口开启。写下微信小程序试试,使用工具HBuilderX。可在微信开发者工具中执行下图操作。试用下是不是这么厉害。新建项目,选了默认模板。
2023-06-21 16:21:11
229
原创 微信小程序判断对象是否存在或为空
测试发现通过typeof判断节点是否存在时要一层层判断,如果result.data.result已经不存在,直接判断result.data.result.image会出错。要取节点result.data.result.image的值,正常情况下有该节点如下图所示。所以添加节点是否存在和是否为空的判断,存在且不为空时才显示。但出错的情况下该节点不存在,直接取会出错。
2023-06-21 10:23:28
2030
原创 微信小程序中图片等比例显示
设计时如果需要图片显示的height是固定的,width根据图片自身比例自适应,则image需要加上mode="heightFix",该image的class只设置width,不设置height。设计时如果需要图片显示的width是固定的,height根据图片自身比例自适应,则image需要加上mode="widthFix",该image的class只设置height,不设置width。当图片的长宽比例和显示的位置的长宽比例不一致时,图片显示会失真。
2023-06-20 16:46:47
912
原创 微信小程序宽高百分比问题
这两天学习了一下微信小程序开发,碰到不少坑,其中宽高百分比设置有的成功,有的不成功,后来发现要先在wxss中设置page的宽高百分比,其它容器都是page的子容器。
2023-06-20 16:30:10
453
转载 wireshark抓包新手使用教程
说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏View --> Coloring Rules。如下所示WireShark 主要分为这几个界面1. Display Filter(显示过滤器), 用于设置过滤条件进行数据包列表过滤。菜单路径:Analyze --> Display Filters。2. Packet List Pane(数据包列表), 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。
2023-06-16 15:37:21
344
转载 深入浅出Git教程(转载)
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误简单说就是用于管理多人协同开发项目的技术。
2023-06-16 14:06:25
1080
转载 C++ 单例模式的各种坑及最佳实践
1.C++ 单例模式的各种坑及最佳实践06-11收起单例模式是设计模式中最简单、常见的一种。其主要目的是确保整个进程中,只有一个类的实例,并且提供一个统一的访问接口。常用于 Logger 类、通信接口类等。
2023-06-16 10:01:59
156
转载 linux useradd 命令基本用法
在 Linux 中 useradd 是个很基本的命令,但是使用起来却很不直观。以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作。本文主要描述笔者在学习使用 useradd 命令时的一些测试结果。说明:本文中的所有试验都是在 Ubuntu14.04 上完成。
2023-06-16 09:27:08
934
转载 linux sed 命令
基本命令格式sed [常用选项] 命令文本 输入常用选项-n (--quiet, --silent):安静模式。在 sed 的基本用法中,所有来自标准输出的信息都会被列出到终端上。加上 -n 参数后,则只有被sed 处理的那些行才会被输出。-e:指定在指令列模式上执行的命令文本。默认不需要指定,只有同时要执行多个命令文本时才需要显式的指定 -e 选项。-f:同时要执行多个命令文本时,可以将这些命令文本写到一个文件中,然后通过 -f filename 的方式使用。
2023-06-16 09:15:57
1790
转载 linux ls 命令
除了本文介绍的基本用法和常用的选项,ls 命令还有很多的选项可以提供更多的功能。比如 i 选项可以显示文件的 inode 信息等等。所以 ls 是一个看似简单实则功能强大的命令。sparkdevsparkdev - 博客园本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
2023-06-16 09:15:30
1019
转载 linux kill 命令
使用信号 15 是安全的,而信号 9 则是处理异常进程的最后手段,请勿滥用。sparkdevsparkdev - 博客园本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
2023-06-16 09:14:27
818
转载 linux sudo 命令
简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。当然,能做什么不能做什么都是通过安全策略来指定的。sudo 支持插件架构的安全策略,并能把输入输出写入日志。第三方可以开发并发布自己的安全策略和输入输出日志插件,并让它们无缝的和 sudo 一起工作。默认的安全策略记录在 /etc/sudoers 文件中。
2023-06-16 09:13:01
126
转载 Ubuntu 中登录相关的日志
本文整理了 Ubuntu 系统中常见的一些与登录相关的文件和命令。通过它们可以快速的查看当前用户的登录情况和所有用户登录登出的历史记录,并且可以查询到用户使用 root 权限执行的操作。这对我们维护系统的安全和用户的管理都非常有帮助。sparkdevsparkdev - 博客园本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
2023-06-15 15:38:27
2632
转载 linux dig 命令
dig 是一个很给力 DNS 查询工具,本文仅介绍了其常见用法,更多的命令选项及使用方法请查看 man page。sparkdevsparkdev - 博客园本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
2023-06-15 15:36:31
498
转载 linux free 命令
下面先解释一下输出的内容:Mem行(第二行)是内存的使用情况。Swap行(第三行)是交换空间的使用情况。total列显示系统总的可用物理内存和交换空间大小。used列显示已经被使用的物理内存和交换空间。free列显示还有多少物理内存和交换空间可用使用。shared列显示被共享使用的物理内存大小。buff/cache列显示被 buffer 和 cache 使用的物理内存大小。available列显示还可以被应用程序使用的物理内存大小。
2023-06-15 15:26:06
256
支持音视频的QtWebEngine 64位(Win10-x64 + QT5.15.0 + VS2019)
2024-07-18
QCefView64位库(Win10-x64 + QT5.15.0 + VS2019)
2024-07-18
msvcp140 msvcp120 msvcr120 msvcm90 msvcr90 msvcp90
2023-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人