- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 循环优化的经验案例
小明的故事展示了优化的思路和方法,他通过一点点积累的优化技巧,最终写出了高效、快速的代码。在他的工作中,编程不仅是解决问题的工具,更是一门不断精进的艺术。小明发现,程序现在运行得飞快,特别是在需要频繁设置位的情况下,预计算掩码节省了大量时间。经过了循环优化、批量处理、位运算和掩码的预计算后,他开始思考,是否能进一步减少运行时的计算成本。运行时,程序只需要直接使用这些已经生成的掩码,彻底避免了任何运行时的计算。随着项目的进展,小明学到了位运算的妙用。,程序在编译时就可以完成某些计算,避免了运行时的额外开销。
2024-09-10 22:05:21 789
原创 C++“=“操作符背后运行了哪些的代码
C++的 “=” 实际有很多陷阱。对于内置类型来说,“=”并没有什么特别。C背景的C++开发者,因为先入为主的印象,在类对象的使用上,仍然遵循了内置类型的方法,因此导致非常普遍的误用。
2024-02-06 10:03:34 876
原创 C++代码格式化工具 clang-format
使用 clang-format 工具能够帮助统一代码风格,从而提高代码的可读性和维护性。通过编写一个统一的配置文件,可以在多个集成开发环境(IDE)或持续集成/持续交付(CI/CD)流水线上使用这个配置文件,实现代码风格的规范化。
2024-02-05 17:25:41 598
原创 Artifactory 服务器构建与创建第一个项目
免费下载最新版本的 JFrog Artifactory Community Edition 以在您自己的服务器上托管您自己的私人包。那么就可以在服务器对制品进行管理,并为每个用户分发制品。
2023-06-19 22:35:16 279
原创 visual studio 中 conan 快速入门
假设你需要一个第三方的制品,你只需要填写依赖,并使用安装命令。通过 conan 实现对第三方包的完整管理,极大简化和统一库依赖操作。你可以调整配置文件或者使用命令实现不同的配置,如体系结构、编译器版本等。
2023-06-18 22:59:25 837
原创 visual studio 中的 resharper C++ 插件快速入门指南
visual studio已经是极具效率的C++生产工具,但是这还不够。使用Resharper C++插件,可以更多的帮助到你。愉快转向现代C++,轻松了解C++中最棘手的方面。快速识别不会发现的错误和代码效率低下,通过安全的快速修复和强大的重构来消除它们。这些都可以通过Resharper来实现。
2023-06-17 03:55:14 5619
原创 visual studio 与 conan 原生融合
visual studio 是我最喜爱的C++代码IDE,conan 可以实现包管理。将二者融合实现快速的包引用和在原生vs环境中进行代码编写。下面这个将会记录conan + visual studio原生融合的示例。
2023-06-17 00:53:33 985 2
原创 BOOST 消息队列 线(进)程间通信性能测试
当我使用消息队列,我担心一个问题:使用消息队列将会带来多少性能损失。那么实测一下boost中的消息队列在线程、进程间通信的时间开销。测试结论:BOOST MQ不适合只有单条消息传递的情形,更适合解决批量生产和消费(并发)。
2023-01-07 23:39:26 927
原创 [C++] 使用指针调用类成员方法
任何指向“类”的成员函数指针,由于携带额外的所属对象信息,与一般的函数有根本的不同,不能直接用来进行函数调用。用C++ 描述:对于类class MyClass 中的成员函数 void Method(); ,它的函数类型为void (MyClass::*f)(); 而不是void (*f)(); 。
2022-11-09 14:30:00 4926
原创 记录:如何使用C++ boost中的多线程工具?
作为C语言的开发者,我会使用POSIX作为使用多线程的工具。现在,我使用C++11进行开发, 当然C++11提供了线程接口,但是还不够,我需要一些消息中间件,来实现异步操作。不重复造轮子,那么,跟我来吧。
2022-10-15 22:46:47 618
原创 c++并发实践简明教程
该文章素材来源于《C++ Concurrency in Action 2nd》一书,是我在阅读该书的笔记和练习。分享给大家,希望可以帮助C++开发者快速了解多线程。章节与原书类似,只保留关键概念与代码。以下内容均为个人理解,如有错误,参考原作。
2022-10-04 01:11:21 401
原创 经典CV键盘——树莓派版本复刻
他们说:高端的程序员,往往采用最朴素的编程方式。他们说:顶尖程序员都把自己叫做CV工程师。他们说:CV大法是一门正派武功,没几年沉淀学不来。他们说:程序员的事不叫抄,这叫代码复用。在他们之间,有一款键盘十分受追捧。这款神秘键盘,抛弃了那些冗余花哨的键位,只保留了最纯粹的功能,专为追求效率的CV工程师量身打造。搬砖,只要这一个键盘就够了。RP2040,一款树莓派mcuPico开发板,灵活、易用的树莓派微控制器开发板,基于rp2040芯片。
2022-10-02 23:11:55 1741
原创 酷炫RGB LED立方体 (RP2040+WS2812)
今天分享的项目详细介绍了一个酷炫发光的 Magic LED Cube的完整制作步骤,并开源了所有必要的设计文件。如果感兴趣的话,可以动手做一个,还可以自定义灯光动画展示方式,可作为一个独特的装饰摆件用。 在这个项目中,因为丰富项目中涉及的知识领域,你可以体验作为结构工程师的建模的乐趣、硬件工程师绘制电路原理图与PCB的乐趣、软件工程师写代码的乐趣。使用了树莓派卡片电脑用于单片机的开发过程,没有使用集成的IDE工具。因此,你可以深入理解计算机的编译过程。除此之外,还要了解一些...
2022-04-10 00:04:25 3185
原创 TMC5160/5130驱动芯片使用简明指南
本文为TMC5160固件库调试经验案例,主要以经验案例的方式向软件库使用者描述其具备的完整功能,与阐述其使用方法。本文提供其SPI通信方式介绍,快速启动方法和函数功能清单。
2022-01-17 19:05:15 14748 10
原创 rt-thread CAN驱动配置说明
因为studio不支持自动生成,因此需要自己配置can。而且studio客户端(版本: 2.1.4)无法生成自动drv_can.c /.h文件,出一篇简易指南。
2021-12-24 19:14:54 1285
原创 嵌入式常用数字滤波算法
0 序言 我们在什么时候会使用数字滤波算法通常地,我们会使用单片机来采集数据。在这个过程中,一方面会有一些随机干扰带来对的误差,另一方面由于通讯数据异常,会导致采集的数据不够准确,从而影响了我们基于数据的判断。这个时候我们使用一些常见的、高效的数字数字滤波算法,来规避掉一些随机误差和筛选掉明显错误的数据。滤波算法一般是系统测控算法中重要组成部分,具有很强的实时性,所以其算法结构一般都不会非常复杂。1 第一章 数字滤波的优点①无额外的硬件成本,高可靠性;②可以对频率极低...
2021-04-24 23:14:57 445
原创 STM32串口通讯收发
STM32串口收发要点中断使能;优先级;状态标记?状态机,用于表明现在数据收发的状态;u8 USART_RX_STA = 0;缓存,用于存放数据;
2021-03-02 00:25:56 204
原创 ->C语言命令
->是一个整体,它是用于指向结构体子数据的指针,用来取子数据。换种说法,如果我们在C语言shu中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。struct Data{ int a,b,c;}; //定义结构体struct Data *p;// 定义结构体指针struct DATA A = {1,2,3}...
2021-03-02 00:07:46 267
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人