- 博客(17)
- 收藏
- 关注
原创 SA8155QNX平台(aarch64le)交叉编译harfbuzz库
本文介绍在QNX系统中使用HarfBuzz库解决印地语显示问题的方案。首先分析FreeType与HarfBuzz的分工,FreeType负责字形渲染,HarfBuzz负责字形选择和排版。随后详细说明QNX交叉编译环境的配置方法,包括工具链路径设置、编译器选择、FreeType库链接等关键步骤。通过创建CMake工具链文件和配置环境变量,实现在QNX700平台上编译HarfBuzz 8.3.0版本,最终解决多语言文本的复杂排版问题。
2025-10-30 14:30:15
501
原创 google编程规范
在面向对象编程中,构造参数的隐式转换是指编译器在某些情况下自动将传递给类构造函数的实参(Argument)从一种类型转换为另一种类型,以便能够调用相应的构造函数。这种隐式转换通常涉及单参数构造函数(Single-Argument Constructor),该构造函数可用于从一种类型转换为目标类的对象。当重定义派生的虚函数时,在派生类中明确声明其为virtual。函数名通常是指令性的,如OpenFile(),set_num_errors(),访问函数需要描述的更细致,要与其访问的变量相吻合。
2024-08-30 14:54:21
1420
原创 Git基本操作
前者表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交。后者直接回改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码。1.撤销远程push。2.撤销commit。
2024-01-03 16:16:05
489
1
原创 C++的chrono库------应用流水灯逻辑
用这个可以编写一个流水灯逻辑,假设流水灯有9个,流水灯的亮灭周期为750ms,亮灯周期为450ms。
2023-12-20 15:05:47
469
原创 CMakeList问题汇总总结
1、确认库文件是否存在/usr/lib或/usr/local/lib,如果没有导入相应的库文件。2、直接在CMakeList中链接库的绝对路径也可解决。
2023-10-18 16:57:11
426
1
原创 VScode快捷指令
常见General按Press功能FunctionCtrl + Shift + P显示命令面板Ctrl + Shift + N新窗口/实例Ctrl + Shift + W关闭窗口/实例基础编辑Basic editing按Press功能FunctionCtrl + Shift + \跳到匹配的括号Ctrl + ]/[缩进/缩进行Ctrl + Shift + W关闭窗口/实例Ctrl+Shift+K删除整行
2023-08-12 22:06:44
258
1
原创 Android Camera2(2)-Image中获得YUV数据以及YUV格式理解
Image类允许应用通过一个或多个ByteBuffers直接访问Image的像素数据, ByteBuffer包含在Image.Plane类中,同时包含了这些像素数据的配置信息。因为是作为提供raw数据使用的,Image不像Bitmap类可以直接填充到UI上使用。因为Image的生产消费是跟硬件直接挂钩的,所以为了效率起见,Image如果不被使用了应该尽快的被销毁掉。如果Image的数量到达了maxImages,不关闭之前老的Image,新的Image就不会继续生产。
2023-07-19 17:01:40
3077
1
原创 Android Camera2(1)-Camera2在textureView中的预览和拍照
在布局文件加入TextureView控件,然后实现监听事件。然后在OnResume()方法设置监听SurfaceTexture的事件。当SurfaceTexture准备好会回调SurfaceTextureListener的onSurfaceTextureAvailable()方法。//当SurefaceTexture可用的时候,设置相机参数并打开相机 setupCamera(width , height);} };
2023-07-16 15:02:16
4107
3
原创 【图像格式】
RGB代表红、绿、蓝三个通道的颜色。三原色的颜色值的范围都是再0~255,所以每一个颜色用1个字节=8个bit可完全在计算机内部表示出来。在计算机可表示的颜色数量有28*2828。yuv是指亮度和色度分开表示的像素格式。其中Y表示亮度,U和V表示色度。
2023-07-15 15:27:10
241
1
原创 ROS学习笔记(四)------参数服务器和坐标系管理系统
目录一、参数服务器二、坐标系管理系统三、launch启动文件的使用方法一、参数服务器1、使用命令行查看参数服务器的参数列出当前多有参数 $rosparam list 显示某个参数值 $rosparam get param_key 设置某个参数值 $rosparam set param_key param_value 设完参数后生效 $rosservice call clear "{}" .
2021-11-23 11:19:04
1467
原创 ROS学习笔记(三)------服务编程
目录一、Client的编程实现二、Server的编程实现三、服务数据的定义与使用一、Client的编程实现1、创建功能包$cd ~/catkin_ws/src$catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesim2、创建客户端初始化ROS节点 创建一个Client实例 发布服务请求数据 等待Server处理之后的应答结果turtle_spawn.c.
2021-11-20 22:37:00
404
原创 设计模式(一)
一、介绍1、底层思维:向下,如何把握机器底层从微观理解对象构造。深入理解三大面向对象机制:封装,继承,多态。语言构造 编译转换 内存模型 运行时机制2、抽象思维:向上,如何将我们周围的事务抽象成为程序代码。深刻把握面向对象机制所带来的抽象意义,理解如何使用 这些机制来表达现实世界,掌握什么是“好的面向对象设计”。面向对象 组装封装 设计模式 架构模式3、软件设计固有的属性软件设计复杂的根本原因:变化。解决复杂性:分治和抽象。1) 分治的代码例子:Shape
2021-11-20 20:43:41
137
原创 ROS学习笔记(二)------话题编程(二)
目录一、话题消息的定义与使用一、话题消息的定义与使用1、 如何自定义话题消息?在功能包中msg文件夹中定义.msg文件 //在Person.msg文件中string nameuint8 ageuint8 sexuint8 unknown = 0uint8 male = 1uint8 female = 2 在package.xml中添加功能包依赖 <build_depend>message_generation
2021-11-20 15:57:23
162
原创 ROS学习笔记(一)------话题编程(一)
目录一、基础知识二、工作空间与功能包三、发布者的编程实现四、订阅者的编程实现一、基础知识话题(topic) ----异步通信编程 节点间用来传输数据的重要总线; 使用发布/订阅模型,数据由发布者传输到订阅者,同一个话题的订阅者或发布者可以不唯一。 消息(Message)----话题数据 具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义类型; 使用编程语言无关的.msg文件定义,编译过程中生成对应的代码文件。 服
2021-11-19 15:24:03
1925
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅