-
MFC定时器、进度条和滑动条
创建和销毁定时器MFC的CWnd类提供的成员函数SetTimer用于设置并启动定时器。第一个参数是我们设置的定时器ID,第二个参数是定时时间(单位毫秒),第三个参数是回调函数地址(如果设置为NULL,则通过WM_TIMER消息的消息响应函数处理定时事件)。...
05月21日[编码文章]浏览:25
-
RoboSense雷达驱动时间戳分析
这是速腾最早的产品RS-16,目前的主流产品应该是M平台的固态激光雷达以及R平台的多线机械雷达,不过点云的解析的基本原理都是类似的。雷达点云的时间戳对多传感器同步、畸变矫正等有很大的帮助。下文以速腾RS-16为例,分析其雷达驱动(...
05月21日[编码文章]浏览:19
-
JNI接口操作最佳实践(三)
前面我们介绍了JNI的常规注册方法(静态注册方法 ,并对JNI各种典型应用做了一个实践演练。本文我们介绍JNI的另一个注册方法:动态注册方法一、静态注册1、注册步骤1)编写java代码和声明native 方法2)过javah指令,自动成JNI的头文件(或者按照JNI规范手动自定义)...
05月21日[编码文章]浏览:23
-
ROS2 Jazzy:配置高效的进程内通信
背景ROS 应用通常由多个独立“节点”组成,每个节点执行特定任务并与系统其他部分解耦。这有助于故障隔离、加速开发、实现模块化和代码复用,但这往往造成性能下降。在ROS1 最初开发出来之后,人们就意识到需要高效的节点组合方式,所以推出了 Nodelets。在 ROS2 中,我们通过解决一些需要重构节点...
05月21日[编码文章]浏览:24
-
-
C++读取文件和写入文件内容实例详解
C++ 是一种功能强大的编程语言,提供了许多用于读取和写入文件内容的功能。在本文中,我将为您详细介绍如何使用 C++ 读取和写入文件内容,并提供一些实例来帮助您更好地理解这些概念。...
05月21日[编码文章]浏览:23
-
-
C++特性:强制类型转换运算符(explicit conversion operators)
在C++中,强制类型转换运算符(explicit conversion operators),也称为自定义类型转换运算符(user-defined conversion operators),允许你定义如何将一个类对象转换为另一个类型。这个功能在自定义类和数据类型之间进行类型转换非常有用。通常,这些...
05月21日[编码文章]浏览:20
-
C/C++面试题(二):std::atomic与volatile
volatile 是 C/C++ 中的一个关键字,用于告知编译器某个变量的值可能会在程序的控制之外被意外修改(例如被硬件、中断服务程序、多线程环境或其他外部代理)。为了防止编译器对代码进行某些可能破坏程序正确性的优化,开发者需要使用 volatile 来强制编译器在每次访问该变量时都直接从内存中读取...
05月21日[编码文章]浏览:18
-
面试题:static_cast与reinterpret_cast在指针转换中的区别。
面试题:既然static_cast也可以用于指针类型的转换,为什么还需要reinterpret_cast?...
05月21日[编码文章]浏览:17