Depth君
这个作者很懒,什么都没留下…
展开
-
基于Qt框架的UI库QtitanRibbon
QtitanRibbon是一个基于Qt框架的Ribbon风格UI库,它为开发者提供了创建具有现代化、直观且功能强大的Ribbon风格界面的能力。原创 2024-07-06 20:37:50 · 52 阅读 · 0 评论 -
如何用qt加载地图,并且可以实现地图的搜索,测距等功能呢?
选择哪种方法取决于你的具体需求,比如是否需要实时更新的在线数据,或者是否对隐私和数据使用有限制。Qt Location模块提供了基本的地图功能,而集成第三方API可以提供更丰富的功能和更好的用户体验。对于离线地图,你可能需要额外的工具来处理地图数据。原创 2024-07-06 20:37:18 · 98 阅读 · 0 评论 -
Qt for MCUs 2.8 LTS版本发布:带来全新变化与长期支持
这一版本带来了许多令人激动的新变化,如GUI的构建模块、构建工具工作流程的改进,以及对Infineon TRAVEO T2G微控制器的扩展支持等。Qt for MCUs 2.8是一个长期支持版本,它能在您的开发过程中提供更强的稳定性,因此,它是所有新项目的首选版本。在接下来的时间里,将继续为Qt for MCUs添加更多新功能和改进。该功能在Qt for MCUs 2.8 LTS中作为技术预览版发布,内置了英语、德语和数字输入的键盘布局,同时支持字符选择窗口、动态语言切换和不同界面尺寸的适配等功能。原创 2024-07-06 20:36:37 · 39 阅读 · 0 评论 -
汇编语言机器语言
与汇编语言和机器语言相比,C语言更易于理解和编写,因为它使用了更高层次的抽象和概念。而自然语言是人类用于日常交流和表达思想的语言,如中文、英文、法文等,由一系列的音素、词汇、句法和语义组成,可以被人类或其他生物理解和使用。这些语言对于理解计算机如何执行程序至关重要,但它们在现代软件开发中的使用已经相对较少,因为更高级的语言(如C++,Java,Python等)提供了更好的抽象和易用性。但总体来说,C语言被广泛认为是一种高级语言,它结合了低级语言的实用性和高级语言的抽象性,为程序员提供了强大的功能和灵活性。原创 2024-02-24 11:41:42 · 61 阅读 · 0 评论 -
意法半导体研究
一些知名的汽车制造商,如特斯拉、现代汽车集团、雷诺集团、小鹏汽车、BMW集团、比亚迪、Rivian、吉利、长城汽车以及Arrival等,都是意法半导体的客户。随着科技的进步,新的半导体材料和工艺不断涌现,对意法半导体的技术研发能力提出了更高的要求。这对意法半导体的生产和研发提出了更高的要求,需要公司具备更灵活的生产能力和更强大的研发实力以应对多样化的市场需求。总的来说,意法半导体在半导体行业中有着悠久的历史和重要的地位,其产品和技术在多个领域都有广泛的应用。此外,意法半导体还面临着来自同行的激烈竞争。原创 2024-02-24 11:40:50 · 423 阅读 · 0 评论 -
电脑装机选择电脑主板主要考虑哪些方面
同时,要注意主板与处理器、内存、显卡等硬件的兼容性,以确保整机的稳定性和性能表现。此外,不同的厂商(如华硕、微星、技嘉、七彩虹等)也会推出基于以上芯片组的不同型号的主板,这些主板在性能、功能、扩展性等方面可能会有所不同。B系列:如B360、B365、B460、B560、B660等,这些主板定位中端,性价比较高,同样适合搭配非K系列的处理器,也支持一定程度的内存超频。Z系列:如Z370、Z390、Z490、Z590、Z690等,这些主板是高端用户的首选,支持K系列处理器的超频,具有更好的扩展性和性能表现。原创 2024-02-24 11:40:15 · 108 阅读 · 0 评论 -
汇编反外挂
为了打击外挂,游戏开发者会采取一系列措施,其中之一就是通过汇编语言级别的技术来加强游戏的反外挂机制。同时,随着外挂技术的不断发展,反外挂机制也需要不断更新和升级,以保持其有效性。行为检测:通过汇编语言实现游戏的行为检测机制,可以监控玩家的操作和游戏状态,以及检测潜在的外挂行为。加密和混淆:游戏的关键代码和数据可以使用汇编语言进行加密和混淆,增加外挂制作者分析和修改的难度。反汇编对抗:针对外挂制作者可能使用的反汇编工具和技术,游戏开发者可以在汇编层面设置陷阱和假象,使得反汇编的结果不准确或误导外挂制作者。原创 2024-02-24 11:29:44 · 235 阅读 · 0 评论 -
如何用visual studio2015搭建汇编环境编写汇编
在项目属性中,配置自定义生成规则,指定如何编译汇编文件。这通常涉及指定MASM的路径、输入文件和输出文件等。右键工程项目-》属性》连接器》入口点》写main。原创 2024-02-24 11:18:42 · 128 阅读 · 0 评论 -
Qt断点续传
注意:这个示例代码是一个简化的版本,主要用于展示基本的思路。断点记录:在下载过程中,需要记录已经下载的数据量,以便在断点发生时能够从中断的位置继续下载。错误处理:网络错误或下载中断时,需要能够妥善处理,并在可能的情况下恢复下载。文件存储:当接收到数据时,需要将其写入到本地文件。检查文件是否已经存在,并确定是否需要从头开始下载或继续下载。处理网络错误,如超时、连接中断等,并尝试恢复下载。在多线程环境中使用时,需要确保线程安全。考虑使用更高级的错误处理和日志记录策略。头部,它允许你请求文件的特定部分。原创 2024-02-20 23:02:27 · 135 阅读 · 0 评论 -
特斯拉研究
首先,特斯拉充电桩的最大优点就是充电速度快,这得益于特斯拉自家研发的充电技术和高功率的充电设备。同时,自动驾驶技术在实际应用中仍然存在一定的安全风险,特斯拉需要不断改进技术,加强与监管机构的沟通合作,以确保用户的安全。其次,特斯拉充电桩的设计简洁大方,具有科技感。另一方面,虽然特斯拉充电桩的适配性在不断提高,但目前仍然主要适用于特斯拉自家的电动汽车,对于其他品牌的电动汽车兼容性有限。总的来说,特斯拉的充电桩在充电速度、覆盖范围和品牌统一性等方面具有显著优势,为特斯拉车主提供了便捷、快速和可靠的充电体验。原创 2024-02-20 23:00:50 · 51 阅读 · 0 评论 -
C++ 虚拟内存与物理内存
在操作系统和计算机体系结构中,物理内存指的是计算机实际上拥有的内存空间,也就是计算机的RAM(随机存取存储器)。它是有限的,并且大小受到计算机硬件的限制。物理内存是直接用于存储和检索数据和指令的地方,包括操作系统、应用程序以及这些程序正在使用的数据等。虚拟内存则是一种内存管理技术,它使得应用程序以为它们拥有连续可用的内存(一个连续完整的地址空间),而实际上是被分隔到多个物理内存区域,甚至可能包括磁盘上的存储(被称为交换空间或分页文件)。原创 2024-02-20 23:00:06 · 62 阅读 · 0 评论 -
Qt的QMake
qmake是 Qt 提供的一个构建工具,它用于处理 Qt 项目文件(通常以.pro结尾)并生成标准的 Makefile 文件,以便之后使用make工具进行编译和链接。qmake是基于一个项目文件来生成 Makefile 的,它能理解项目文件中的各种配置信息,比如源文件、头文件、库文件、编译器选项、链接器选项等。原创 2024-02-20 22:58:52 · 54 阅读 · 0 评论 -
C++ namespace高级用法
例如,如果要访问嵌套命名空间中的类或函数,可以使用命名空间::类名或命名空间::函数名的形式。C++中的命名空间(namespace)是一种用于组织代码的机制,它可以帮助避免命名冲突,并使代码更加清晰和易于维护。在模板中,可以使用命名空间来限定模板参数的类型,以便更好地组织代码。膨胀的全局作用域:namespace可以减少全局作用域中的代码量,避免全局作用域的污染,使得代码更加清晰和易于维护。代码可重用性:通过使用namespace,可以将相关的类、函数等组织在一起,使得代码更加模块化,易于重用和维护。原创 2024-01-14 22:02:50 · 29 阅读 · 0 评论 -
C++互联网公司笔试攻略
分布式系统和云计算公司:例如微软Azure、亚马逊AWS、谷歌云等云计算服务提供商,以及开发分布式系统的公司如Apache Software Foundation(开发了Hadoop、Kafka等),在招聘相关职位时,会关注候选人在系统设计、分布式算法、网络编程以及C++等方面的能力。互联网公司:像谷歌、脸书、亚马逊、腾讯、阿里巴巴、字节跳动等大型的互联网公司,在招聘软件工程师、后端开发工程师等职位时,很可能会考察C++基础知识、数据结构与算法、操作系统与网络以及系统设计等方面的内容。原创 2024-01-11 17:41:34 · 32 阅读 · 0 评论 -
汇编和C语言转换
需要注意的是,自动化工具如反汇编器(disassembler)或反编译器(decompiler)可以从二进制代码生成汇编代码或类似高级语言的代码,但这些工具生成的代码通常是低质量的,并且需要人工干预以提高可读性和准确性。将汇编语言(Assembly)转换为C语言是一个复杂且通常需要手动操作的过程,因为汇编是一种低级语言,直接对应硬件操作,而C语言是一种更高级别的语言,提供了更多的抽象。C语言:编译器将C代码转换为机器代码时,可能会引入一些额外的开销,导致生成的代码不如手工编写的汇编代码紧凑或高效。原创 2024-01-11 17:15:54 · 424 阅读 · 0 评论 -
国内dToF Sensor厂商(持续更新)
但是苹果dToF LiDAR技术的推广,让dtof成为了整个行业关注的焦点,很明显这是一个在国内没有人玩的东西并且是前沿的,有前景的,吸引了大量的大佬。dtof sensor最早处于1D消费级的状态,而且一直都是被外国的公司所垄断,比如ST意法半导体,AMS艾迈斯欧司朗,安森美,这几家的每年的市场销售收入可能达到了十几亿美金的规模,本来他们都在闷声发大财。3D dToF:VI4310,VI4320,VI4330,VI4331系列,VI4340。产品包括1D dToF(ND系列,包括ND01,ND03,原创 2023-01-22 21:30:00 · 504 阅读 · 0 评论 -
ToF测距能力以及性能衡量指标(持续更新...)
在系统验证以及测试当中,我们会用一些标准来卡控产品的性能以及能力,很多指标都会在统计学里找到,当然这些指标并不唯一,但总能从一些层面来看到这些产品的表征和形态,帮助我们去解决问题,优化改善产品。测距极限表征上通过10%,85%反射率板标注最远测距距离,表达形式如XXm@10%。测距距离越长表明在系统中接触到物体的时间越早,留给系统判断和决策的时间越长,但是点云数据的处理往往和系统的算力及其他配件整体作用相关联。测距精准度表征测量物体时数据的一致性。精度越高表示误差越小,每一次获取到的数值更为一致。原创 2023-01-22 21:29:01 · 253 阅读 · 0 评论 -
基于python的matplotlib图像渲染
python脚本的代码效率是最高的,因为短短几行代码就能实现目的。这边讲的是基于python的matplotlib这个应用,这是一个仿造matlab的应用。换句话说,matlab能做到的图形渲染,这个库基本也能实现,可能有点勉强。如今,python越来越多的被工作者所接受和认可,不仅仅是程序员,用这门语言的人已经涉及到了财务,金融从业者,以及跟数据处理相关的学者,教授等。二维图像其实就是数组,这里面引入了pixel的概念,每一个pixel都会有一个数值,这个值可能是RGBD中的值。原创 2023-01-22 21:28:12 · 350 阅读 · 0 评论 -
汽车通信协议系列1_通信协议类型
按照公约,将这些搭载在pc端,或者说搭载到远程服务器上,这样能直接远端操作,省去了技术支持人员成本,还能提供大数据平台支持,真正做到了精准快。如果你单纯的只是开发诊断软件,在传统的解码器领域里,只需要套取协议交互就行,这种诊断业务是比较传统而低效的,而且需要大量的技术支持人员,特别会经常出错,要不断的重复采样以及诊断测试。很明显几乎所有的协议基本都是国际标准化组织和美国汽车工程师学会制定的,再狭隘一点基本就是德国和美国两国制定了早期的通信协议规则,不断延用修改到今天。以下几种按照物理层编码相关性来划分。原创 2022-10-08 12:22:50 · 3649 阅读 · 0 评论 -
访问固定的内存位置(Accessing fixed memory locations)
如果有学过汇编,那么访问内存将不是一件难事,因为汇编要求你熟悉每一个内存模块,每一个内存地址。我记得当初上汇编的第一节课,老师就说汇编如果不懂的,直接debug那个地址,在命令控制台里找出那个地址对应的数值。今天我们讲的访问固定的内存位置也是使然,想成为顶尖的程序员,就必须对每一句代码里的每一个内存了然于胸。很多游戏外挂都是采用篡改内存地址来达到入侵的目的,所以说如果你能自由的读写每一块内存,就掌握了财富的密码。很明显,这块内存是不允许被写入的,也就是这块地址是不被更改的。网上还提到一种晦涩的方法。原创 2022-10-08 12:21:07 · 156 阅读 · 0 评论 -
内核模式(Kernel Mode)vs用户模式(User Mode)
做驱动的对内核模式肯定不陌生,内核操作是一种高特权模式,比较深入底层,其中的程序代码能直接访问所有内存,包括所有的用户模式进程和应用程序的地址控件和硬件。一般来说,只有主程序或者管理员,才被允许直接内存操作,毕竟比较危险,如果在pc的windows系统上,有可能会导致蓝屏的发生。内核如果拥有的独立的内存地址空间,那么处于一个独立的进程中,每次进行系统调用都需要切换进程,内存消耗巨大,不仅需要寄存器进栈出栈,还会使CPU中的数据缓存失效、MMU中的页表缓存失效,这将导致内存的访问低效。原创 2022-10-08 12:18:22 · 372 阅读 · 0 评论 -
编程改变世界_v20220911
如果你有更好的教程,请提示我,我会及时更新。如果你有学习上的难题请联系我,我会免费告诉你我所知道的。目前Qt教程公众号用户5483人,有上海和深圳多个微信程序员交流群,希望大家能有所得。后续会陆续完善更新。原创 2022-09-14 12:54:19 · 97 阅读 · 0 评论 -
获取PC笔电的处理器名称
电脑处理器一般指电脑cpu。运算逻辑部件,可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。平时侃侃而谈的cpu,比如英特尔,amd,cpu插槽等,你知道如何通过代码获取吗。作为一名成熟的黑客,如果想入侵你的电脑,必然先获取你的cpu名称,然后通过cpu指令直接改写了你系统内部的东西,让你瘫痪。从代码中其实可以看出处理器的名称是包括48个字符的,这里面可能还有点讲究,不过不要紧,只要用好接口api即可,可以不深究,以下是打断点后的每一步调试过程。英文Control unit;原创 2022-09-14 12:53:33 · 62 阅读 · 0 评论 -
程序员的诗样年华
基本最优秀的代码框架都是欧美,比如谷歌Android,苹果ios,日本的汽车ECU代码,大部分精华都能在各种GitHub,stackoverflow,csdn里看到,直接复制粘贴到项目中。头发白了,头发掉了。大都数是迫于生活计,因为程序员这个职业薪资高,不断埋头苦进,从入门到放弃,再从放弃到入门,再不断的跳槽刷公司升级。刚出道,没有那种名校光环,只能不断的积累技术经验,时机一到就跳槽,然后薪资不断的拔高,最后到瓶颈,而瓶颈的那家公司可能就是你暂时安居之地。能将代码写的跟诗一样的人,骨子里也是诗人的刻骨。原创 2022-09-04 03:04:35 · 76 阅读 · 0 评论 -
文件操作代码
当然在QT或者其他框架当中,基本上有了比较好的代码接口。但是,我经常不仅仅只在QT平台中去完成这些代码功能,所以我在编程当中尽可能的不去用QT的类接口,我要保证我写的代码既能在QT平台上运行,又能在MFC或者其他windows平台上运行,所以我只能遵循最标准的windows C++规范。当然啦,最好的文件操作是脚本,写个bat批处理,或者那个python写个代码,速度非常快。但是也有一些在C++当中碰到的,这部分就比较伤脑筋,很经常遇到编码格式,中英文格式,字节格式,产生诸多问题。原创 2022-09-04 03:02:24 · 242 阅读 · 0 评论 -
C++怎么判断windows系统是64位还是32位
我们很多时候要先获得windows系统的类型,然后针对性的做出兼容这个系统类型。是不是你忽略了这个步骤,没有考虑到系统类型对app的影响。其实这个是非常重要的,处理器,系统类型,显卡,这些对搭载上层的app开发影响巨大,不仅仅在windows,在移动手机应用开发当中也是如此。这些因素会左右到你的代码功能的兼容性和健壮性。大部分软件crash的原因都是对处理器和系统类型的不兼容上,如果你是一款想走出海外的软件,无论如何请注意这个层面。系统类型会影响到指针,影响到协议的大小端,影响到系统数据。原创 2022-09-04 03:00:09 · 317 阅读 · 0 评论 -
模态窗口与非模态窗口
由于在Create返回后,不能确定对话框是否已关闭,这样也就无法确定对话框对象的生存期,因此只好在堆栈中构建对话框对象,而不能以局部变量的形式来构建之。模态与非模态,在概念上还是比较好理解的。由于局部消息循环只在对话框中的一个响应函数中,而全局的消息循环也被阻断,局部循环一直运行,如果用户不进行处理并关闭模态对话框,该循环会一直不退出。当然在前端开发,java语言,python窗口里,无一不例外的涉及到模态与非模态的设计理念,而不仅仅是在QT和MFC里,这是一个软件设计模式概念,不是编程语言概念。原创 2022-08-21 21:49:48 · 1458 阅读 · 0 评论 -
ChromiumLib谷歌基础库的源码应用
从小编的面试情况来看,其实国内大部分大厂以及游戏公司都是采用谷歌的框架,毕竟谷歌活跃了那么多年,代码经得起考验(大部分代码都是经受住了全球十几亿个活跃用户的机子以及浏览器),而且大部分社区都能找到共鸣。大厂间的程序员代码功底也比较扎实,能看懂和修改晦涩难懂的代码。但是小公司可能不那么幸运了,这些框架没有技术大拿,寻常小白是很难接手和维护的,所以说小公司基本不会采用这些框架。想要成为优秀的程序员,更深一步的跟人家交流,或者进入顶级大厂中成为主程,就要熟知这些技术。原创 2022-08-21 21:48:48 · 214 阅读 · 0 评论 -
MD5简介与实现
比如数据上报中pc的guid,内存,以及管理账户中的账户以及密码,对于身份证,保密文件等,如果不加密那么被篡改的可能性是极大的。当然如果你想更加知道它的算法以及底层原理,还是建议你用C++或者python,或者你熟悉的编程语言去实现一遍它,可以基于目前已有的方法去升级它,让它更加安全不易被破解。这里不再详细介绍MD5的算法原理,有需要的可以联系我获取它的算法原理源码,或者跟我一起探讨它的实现过程。4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。原创 2022-08-21 21:46:44 · 180 阅读 · 0 评论 -
如何看懂万行代码
能够看懂代码,说明你掌握了语法以及代码逻辑,能够看万行代码,说明你已经对代码的架构和框架,有一定的认知。不断的阅读项目代码,开源代码,美丽而优雅的精华能够滋润你,让你不断的沉淀,未来变得更强大。如果这个项目代码有文档或者设计框架,毫无疑问这对你是幸运的,你只要按照文档去编译好这个代码,成功运行后,可以断点,可以打log,一行行的熟悉理解代码即可。如果没有文档,项目又是你陌生的开发环境,那么你可能需要请教一下前辈,前面交接的人或者说项目中一个team的人,他们或许会给你一些指导,足够让你上手。原创 2022-08-21 21:45:14 · 266 阅读 · 0 评论 -
基于ISO14229协议的单帧以及多帧Can发送代码
在诊断行业的人里头,都对CAN协议以及KWP协议不陌生,特别是当初在爱夫卡做协议工程师,在道通或者元征当诊断软件工程师,协议解析与研究是日常工作之本。多帧发送要先收到第一帧发送的数据Ack后才能继续确认下一帧发送,也就是确认帧ID必须为0x30,如果不是0x30那么就不能继续下面的多帧发送。对于单帧和多帧的判断是看发送长度是不是大于7个字节,如果小于或者等于7个字节,那么就是单帧发送,如果大于7个字节就必须采用多帧发送。这里面的程序其实就7个字节为一帧发送,然后是第一个字节的计算,其他没有啥难度。原创 2022-08-20 21:26:28 · 439 阅读 · 0 评论 -
dump方式保留程序崩溃现场
特别是我们拥有非常多的用户时,想通过服务器远程本地客户端自动上传到服务器,这个时候就需要非常大的带宽以及用户本地的流量,很明显这是不明智的。按照最常用的配置,一个minidump只包括了最必要的信息,用于恢复故障进程的所有线程的调用堆栈,以及查看故障时刻局部变量的值。这里面的参数类型是包含了19种定制参数,你可以清晰的看到他们的枚举定义位数是不一样的,也就是说他们是按照位控制开关来取决于是否收集这个信息,所以说如果你要获取更多的有效信息,你可以全部进行或运算,将获取更多的崩溃信息。编辑完毕记得把路径勾上。.原创 2022-07-17 19:12:23 · 156 阅读 · 0 评论 -
C++项目实现多国语言解决方案
所以说,想要出海的产品,如果在资金以及实力雄厚的公司而言,一般会有一个专业的翻译团队,而这里面的翻译者包含了各个小语言种专业毕业的同学。在实际项目开发当中,有些需求可能会要求我们实现多种语言,这里的语言是指界面上,一般就是在客户端,特指那些老外用户使用我们的产品时,为了更好的使用客户端和上手,我们需要将语言翻译成当地的语言。有个同事就比较取巧,它直接调用谷歌的翻译将中文自动翻译成多国语言,省去了自己翻译字段的功夫,当然谷歌的接口是带有商业性质的,也不能让你无限次调用接口,所以在实际项目当中,不建议你使用。.原创 2022-07-17 19:10:47 · 712 阅读 · 0 评论 -
安卓游戏模拟器的键位设置设计
这里我们采取的是谷歌的异步通讯机制,这里面要控制的不仅仅是窗口之间的通讯,不同窗口之间的ui控件通讯,还有和模拟器引擎的通讯。游戏启动的时候会有一个tips提示你去设置键位设置,当然我们会预先导入一份键位设置的规则表,如果你没有特殊的习惯,你可以采用我们给你的键位设置规则,如果你一些其他个人使用规则,可以自己设置键位。下图为王者荣耀的键位设置,可以清晰看到键盘上的各个按键,已经映射到安卓触屏上的各个位置,包括左下角的方向行走,还有技能按键,键盘视角,观察视角等。)文件是一个映射文件,是。...原创 2022-07-17 19:09:24 · 478 阅读 · 0 评论 -
程序员的程序人生
最近有人在后台问我,推文为啥要搞的这些配图,可能引起了某些人的不适,这里深感抱歉。但是我知道错了,我可能会改,日后做一些调整,也可能不会改,还会继续这样做。以下聊点题外话,跟上面话题无关。作为一个程序员,其实生活还是相当的单调无趣,专注于程序编码的时候会觉得是一种快乐,但是偶然松懈下来就会猛的一发觉太苦了,这哪像一个正常人的生活。太多的时间用在了电脑跟前,缺少风花雪月的刺激,试问,这样的脑子怎么能够创造出更优秀的代码。当今时代,是一个赋予了非常多已知的潜能,一批有识之士懂得激发这些潜能创造创新,而同时大部分原创 2022-07-17 19:08:07 · 144 阅读 · 0 评论 -
程序员该选择外包公司嘛
话说回来,外包公司有啥好处。好处就是你能够进入一些大厂,虽然不是以正式员工的身份进去,但起码你也能在大厂中游离,体验大厂的制度以及他们的内网技术教程,一般来说,大厂内部会有非常多的技术积累,而这部分不会对外面开放,但是会对外包人员开放。比较知名的外包公司比如中软国际,文思海辉,软通动力,博彦科技,浙大网新等等,简直是无孔不入,特别是在你忙于找工作的时候,有可能同一家外包的几十个hr同时联系你,因为外包公司就是一个皮包公司,里面的hr说白了就是业务员,他们只有一个目的,就是将你拉入他们的坑中。...原创 2022-07-17 19:07:14 · 177 阅读 · 0 评论 -
C++中critical section的使用
在windowssdk里它的接口是放在synchapi.h(syn是同步的意思,也就是临界区是用来调度多线程的同步问题)以及WinBase.h头文件里,包括以下几个主要api,其实也就是初始化和释放临界区资源,每次的进入临界区和离开临界区,非常好记。这个使用其实是比较简单易接受的,所以导致了很多程序员使用线程同步的第一思路都会坚持采用这个方式,比如多线程写个log啊,多线程记录datareport上报啊等等,它不需要去对内存进行修改,速度快,算是轻骑兵的方式。注意了,多线程间通信最快的是临界区。...原创 2022-07-17 19:06:32 · 414 阅读 · 0 评论 -
windows获取显卡名称
女孩子想要男孩子在家中过夜,所以说“我家有一个会发光的3090”,这样就会吸引男孩过去,毕竟没有一个男生会拒绝会发光的3090显卡。作为一个windows客户端开发工程师,在需要上报本地用户电脑的信息时,最经常需要获取显卡的信息,因为系统因素造成的问题可能有八成是显卡造成,这就是一件令人头疼的事情。网上已经介绍了很多种获取显卡的方法,但是大部分都是别人集成了库的api接口调用,这里介绍的是通过询问注册表来获取显卡的信息。检索一个已打开的注册表句柄中,指定的注册表键的类型和设置值。...原创 2022-07-17 19:04:50 · 532 阅读 · 0 评论 -
windows获取显卡的显存
显卡显存的注册表路径位置信息依然跟上篇讲的一样,只是他的属性是。可以清晰的看出我的显卡是1024个字节也就是1G。上一篇获取显卡名称,这一篇讲获取显卡的显存。原创 2022-07-17 19:04:01 · 425 阅读 · 0 评论 -
GUI中编辑框Edit记忆路径设计
GUI的鼻祖MFC虽然做起来很不方便,但是也搞了很多人性化的设计,特别是基于windows系统的使用层面上,对于UI控件的设计有很多极好的用户体验。不可否认的是,QT在ui方面做了很多改善,并且极力为开发者提供了方便,但是相对比MFC的控件来说,QT是给开发者提供了方便,并没有给用户带来更多体验的上升。在性能,以及使用习惯层面,windows的mfc依然不愧是鼻祖。QT以其简单上手的方式吸引了大量的开发者,但同时,想要走向更高端的层面,用QT开发出更友好用户的GUI,还是需要很长的升华路子。......原创 2022-07-15 15:50:50 · 140 阅读 · 0 评论