自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 问答 (1)
  • 收藏
  • 关注

原创 基于Processing实现《黑客帝国》代码雨

他来了,他来了,初中的时候看了《黑客帝国》,简直太震撼了,从拍摄的角度来说,里面的特效领先现今国内电影特效几条街,而且还是20年轻的事情了。里面最让我印象深刻的就是代码雨特效,记忆犹新啊,现在从事程序员有很大的原因是看了代码雨,感觉代码真的是无所不能。哈哈哈!!电影特效:processing 特效:上源码:static final int C_MAX_LIT=0xEE;static...

2020-03-30 19:44:45 2172 2

原创 在Linux中创建文件目录软链接、硬链接的方法

在Linux中常常会用到链接,就像在PC电脑中的桌面快捷方式一样。1. 使用方式:ln [option] source_file dist_file             -f 建立时,将同档案名删除             -i 删除前进行询问              -s 软链接,否则默认为硬链接              n -s abc cde

2016-12-31 16:14:20 35517 2

原创 RTOS系统与Linux系统的区别

RTOS是实时操作系统Linux是时分系统,不过可以通过配置内核改成实时系统实时操作系统  英文称Real Time Operating System,简称RTOS。  1.实时操作系统定义   实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系 统作出快速响应,并控制所

2016-12-30 00:57:49 61038 1

原创 2022年1024程序员节日纪念

1024又一年,代码敲敲又一年,代码敲少了,bug变多了,哈哈哈,1024 1024 1024。

2022-10-24 09:19:36 504 1

转载 揭开Wayland的面纱(二):Wayland应运而生

**************************************************************************************************转自:https://imtx.me/archives/1574.html 向经典致敬!**************************************************************************************************话说在上篇(揭开W.

2021-12-30 16:56:02 661

转载 揭开Wayland的面纱(一):X Window的前生今世

*****************************************************************转自https://imtx.me/archives/1573.html 向原创致敬!*****************************************************************今天大家可能在"Wow! Ubuntu"或其他地方看到了这篇文章:Ubuntu 决定未来将启用 Wayland X-Server。Wayla...

2021-12-23 23:09:59 504

转载 EGL 介绍和使用

一、简介EGL 是渲染 API(如 OpenGL ES)和原生窗口系统之间的接口。通常来说,OpenGL 是一个操作 GPU 的 API,它通过驱动向 GPU 发送相关指令,控制图形渲染管线状态机的运行状态,但是当涉及到与本地窗口系统进行交互时,就需要这么一个中间层,且它最好是与平台无关的。因此 EGL 被设计出来,作为 OpenGL 和原生窗口系统之间的桥梁。二、功能EGL API 是独立于 OpenGL ES 各版本标准的独立的一套 API,其主要作用是为 OpenGL 指令 创建 Co

2021-12-23 23:03:24 4622

原创 2021年1024程序员节日纪念

2021年1024是个特殊的日子,程序员的1024节日1024!1024!!1024!!!吾而立小梁,终得掌上花。遥思十九后,人把木兰夸。

2021-10-24 00:10:24 1093

原创 Kanzi基础---中文乱码

Kanzi中自带的字库是没有中文字体的,如果想要显示中文需要导入字体,比如思源黑体等等。由于kanzi识别的是等宽字符,需要定义等宽字符串,转换成UTF8格式进行设置。#include <locale>#include <codecvt> std::string wstringToUtf8(const std::wstring& str) { std::wstring_convert<std::codecvt_utf8&lt...

2021-04-28 12:16:46 554

原创 MQTT遥测传输协议的简介与使用

MQTT (Message Queue Telemetry Transport),翻译成中文就是,遥测传输协议,其主要提供了订阅/发布两种消息模式,更为简约、轻量,易于使用,特别适合于受限环境(带宽低、网络延迟高、网络通信不稳定)的消息分发,属于物联网(Internet of Thing)的一个标准传输协议...

2020-05-12 11:24:49 479

原创 Windows下C/C++模拟鼠标点击,没有鼠标怎么获取鼠标坐标、移动鼠标坐标、模拟鼠标点击事件?方法二 亲测有效

在使用PC端开发应用时,没有鼠标设备的情况下实现由一个前台程序触发来实现底层程序的触发,如模拟鼠标的点击事件,键盘等模拟鼠标操作 mouse_event是比较旧的API,新的API名为SendInput if (key == KZS_KEY_ENTER) { //点击 MouseMove(100, 100); MouseLeftDown(); Sleep(10); Mou...

2020-04-26 18:25:37 1699

原创 Windows下C/C++模拟鼠标点击,PC端没有鼠标设备也能够获取鼠标坐标、移动鼠标坐标、模拟鼠标点击事件,方法一 亲测有效

在使用PC端开发应用时,没有鼠标设备的情况下实现由一个前台程序触发来实现底层程序的触发,比如模拟鼠标的点击事件,键盘事件等移动鼠标坐标SetCursorPos(100,200) 设置鼠标当前位置。坐标以屏幕的左上角为原点,单位是像素点。在Windows SDK中的函数原型: 引入头文件#include <Windows.h>就可以使用这个函数BOOL SetCursorPo...

2020-04-26 17:54:35 3668 3

原创 C/C++基础知识整理汇总

1、程序的内存分配(1)栈区(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。(2)堆区(heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。(3)**全局区(静态区)(static)**全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区...

2020-04-25 17:06:09 626

原创 Kanzi中级3:写Shader特效,如何画一个圆弧形的光点,类似于太阳系的星球

此shader画的是一个圆形,显示半圆的光亮点,圆弧可以旋转。顶点着色器:attribute vec3 kzPosition;uniform highp mat4 kzProjectionCameraWorldMatrix;void main(){ precision mediump float; gl_Position = kzProjectionCameraWorld...

2020-04-18 22:35:37 1448

原创 Kanzi Bug:无法播放状态机中录制的动画

kanzi 版本:kanzi3.2.3、kanzi3.2.9、kanzi3.2.15均出现以上版本。kanzi

2020-04-16 22:20:07 437

原创 kanzi与第三方app融合,比如地图导航视频、互联娱乐视频

kanzi app 、第三方app。2个app窗口进行融合,如下图所示:黑色的是kanzi应用,透过去的是地图导航视频。做法如下:1, Kanzi studio中设置挖洞的mask,让ui工程师提供挖洞背景图片即可,挖一个透明的洞,洞的形状可以是任意形状,透过洞可以看到下面的第三方窗口。2,使用api来设置窗口的层级,kanzi设置为顶层,在QNX系统下的嵌入式板子,可以更改Pipelin...

2020-04-15 23:03:47 931

原创 Kanzi中级1:Shader材质渲染管道原理

**渲染管道(Graphics Pipeline)**在 OpenGL ES 1.0 版本中,支持固定管线,而 OpenGL ES 2.0 版本不再支持固定管线,只支持可编程管线。管线(pipeline)也称渲染管线,因为 OpenGL ES在渲染处理过程中会顺序执行一系列操作,这一系列相关的处理阶段就被称为OpenGL ES 渲染管线。

2020-04-04 15:11:46 1816

原创 Kanzi中级2:写Shader在图片中挖一个洞

在kanzi中写材质是我们在实现比较炫酷的效果的一种做法,基本在opengl中的大部分简单效果都能在kanzi中实现,以下是一张图片中,只显示一部分图片的效果,相当于在图片中挖了一个洞顶点着色器:attribute vec3 kzPosition;attribute vec2 kzTextureCoordinate0;uniform highp mat4 kzProjectionCamer...

2020-04-04 15:05:32 1398 2

原创 C++基础8:单例模式

单例的介绍:意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。关键代码:构造函数是私有的。应用实例:Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以...

2020-03-29 12:40:21 236

原创 Qt介绍---QPA(Qt Platform Abstraction)

来源Qt是一个夸平台的库(其一直宣称“Qt everywhere”),但是Qt底层不是夸平台的。比如:Qt中Gui部件的核心类QWidget,该类除了qwidget.h 和 qwidget.cpp两个原文件外,还有kernel/qwidget_mac.mmkernel/qwidget_qws.cppkernel/qwidget_win.cppkernel/qwi

2020-03-29 12:19:35 3621

原创 C++基础4:构造函数、析构函数、拷贝析构函数、静态成员函数

【构造函数】1.1构造函数:一个特殊的函数与类型名相同,没有返回值类型,保证创建一个对象时,自动调用一次,一个类可以有多个构造函数作用:初始化对象如果一个类不提供构造函数,则系统自动提供一个无参构造函数,但一旦提供构造函数,则系统的无参构造自动消失。1.2一个对象的创建过程根据对象大小,分配内存,如果类的成员变量是基本类型,则什么都不做;如果是类类型的成员,则去构造它,调用

2020-03-29 12:19:21 415

原创 C++基础2:结构体、联合体、枚举 几个基本概念的区别

【struct】结构体 类型定义:由一系列具有相同数据类型和不同数据类型的数据组成的数据集合。 类型定义格式: struct worker { char name[10]; int age; float salary; struct worker *next;

2020-03-29 12:19:06 469

原创 C++智能指针使用

由于C++语言没有自动内存回收机制,程序员每次new出来的内存都要手动delete。程序员忘记delete,流程太复杂,最终导致没有delete,异常导致程序过早退出,没有执行delete的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、

2020-03-29 12:18:39 268

原创 致敬:1024程序员的节日

1024程序员节是中国程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事程序开发、维护的专业人员。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1024最早起源于一个名为"草榴社区"(常被网友称为"CL社区")的综合性论坛。该论坛将用户分为新手上路、侠客等各种等级,等级为"新手上路"的用户在论坛内与...

2019-10-24 10:27:12 3888 2

原创 Kanzi App 启动时间

Kanzi app 启动时间计算方法:在onConfigure() 中记录下第一个时间,在onPostRender() 第一次的时候记录下第二个时间,第二次的时间减去第一次的就是启动速度1、函数原型:KZ_HEADER_BEGIN KANZI_API kzUintkzsTimeGetCurrentTimestamp(void)返回当前的系统运行到此函数的时间点(ms

2017-05-09 22:59:01 1350 1

原创 系统时间struct timespec 与 struct timeval 的区别

1、精确级别:纳秒级别struct timespec//精确到纳秒{time_t tv_sec; //秒long tv_nsec;//纳秒,1s = 1000ms(毫秒) = 1000*1000us(微妙) = 1000*1000*1000ns(纳秒)}函数原型longclock_gettime(clockid_t which_clock_id, str

2017-05-09 00:18:01 10145

原创 Unix时间戳 怎么计算

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广告采用。【注意】目前相当一部分操作系统使用32位二进制数字表示时间。

2017-05-09 00:14:11 6352

转载 GitHub For Windows 使用教程

转载一个很简单的使用教程,原文地址:http://www.ihref.com/read-16514.htmlGit是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。作为一个程序员,我们需要掌握其用法。Github作为开源代码库以及版本控制系统,随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选

2017-05-07 23:55:45 664

原创 Kanzi基础---configure配置文件

kanzi加载启动的时候都需要加载默认选项的,有相应的配置文件及函数kanzi对app的配置有两个地方:1,设置kanzi studio工程的 xxxx.cfg 配置文件eg: myApplication.exe -config=myConfiguration.cfg2,在C++程序中配置 onConfig() 回调函数eg: configuration.configu

2017-04-27 22:41:00 2594 2

原创 Kanzi基础---打印刷新帧FPS

在kanzi如果要打印当前app运行的刷新的fps,以便对性能进行优化,可以调用kanzi的接口进行显示,kanzi已经封装很多性能信息,为了节省资源开销默认不显示的。1,在onConfigure()开启HUD显示信息configuration.previewProperties.fpsInfoEnabled = true;//打印全部的HUD信息如果要限制fps可以在此函

2017-04-27 22:39:22 1500

原创 Kanzi基础---C++访问Kanzi节点

C++代码与kanzi的交互,kanzi提供了3中方法让外部的代码可以访问kanzi的节点:1、alias属性的节点SrceenSharedPtr screen = getScreen(); //获取kanzi的唯一屏幕节点Node2DSharedPtr rootPage = screen->getChild(0); //对应类型的智能指针,获取屏幕的第一个节点(根节点从0开始

2017-04-23 22:46:59 2046

原创 Kanzi基础---Kanzi的4层框架

System封装了各个系统相关的api,比如窗口系统,graphics api,输入输出,线程,时间等Corekanzi的核心数据结构,以及渲染算法userkanzi的控件,用户apiApplication各个操作系统的入口函数,比如main,winmain,activity等等kanzi程序的生命周期及回调接口main()c

2017-04-23 22:44:55 4810

原创 Kanzi基础---Button控件

Kanzi中的控件都是可以自定义的,控件只负责做逻辑控制,不定义控件的形状,可以是球、plane面板、无形的区域、text文本等等。一个控件可以由底下的所有对象组成,点击底下的任一对象,控件都会发出消息。一个Button控件,控件下会有许多消息,当点击时会发出相应的消息,用法跟常规的一样了,只不过UI设计师会有更多的选择进行开发。

2017-04-16 19:40:47 1398

原创 Kanzi基础---Kanzi基本概念

Kanzi Studio是kanzi的UI编辑器,最近kanzi开始从外国进入中国市场,主要服务于车载电子的中控、仪表盘界面设置。kanzi目录结构:安装完kanzi之后会看到下图的目录结构:KanziWorkspace:安装完kanzi之后会有一个对应的kanzi工作空间,集成了kanzi的开发环境,后续的开发将会在这个目录里。Projects:工程目录,在kan

2017-04-16 15:27:14 16370 2

原创 secureCRT自动断开解决办法

在secureCRT上登录时,一段时间不用的话会自动断开,必须重新连接,有点麻烦。有时候服务器端的 /etc/profile 或者 ~/.bash_profile 中设置了 TMOUT 选项,或者是 /etc/ssh/sshd_config 文件中设置了客户端连接时间的设置,很可能一段之间之后,SecureCRT就会被断开连接,所以SecureCRT又一个选项可以设置每隔多少秒自动发

2017-04-14 22:48:45 1251

原创 SDK使用教程

SDK:Software Development kit 软件开发工具包,一般是特定平台的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。1、资源Qt开发是要依赖OS提供的SDKQt5.3.2使用的是poky1.7Qt5.6.2使用的是fsl-imx-fb2、安装拷贝到 Linux下的/opt 下进行安装,sh poky-glibc-

2017-03-22 21:33:39 18090 1

原创 程序员写文档的重要性

写文档的重要性对于软件相关行业,在学校或单位大家也许都已经注意到了,除了要编写的程序、绘制设计图之外,还有一个重要的工作便是写文档。为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看。如果我们只是会写程序,不会在文档中恰当且优雅地描述自己的想法,那么就真正的成为“码农”了。有关文档书写,我印象很深的问题有如下

2017-03-15 22:32:52 4303

原创 在Qt Quick中一个简单Hello World加载过程

Qt5基本类图:QQmlEngine    QQmlEngine类提供了一个QML引擎,用于管理由QML文档定义的对象层次架构,QML提供了一个默认的QML上下文(根上下文,获取函数QQmlEngine::rootContext())。该上下文是QML表达式的执行环境,并且保证在使用时对象属性能够被正确更新。    QQmlEngine可以将全局设置

2017-03-15 22:15:50 2414

转载 主管给实习生新人的一封邮件,字字珠玑,用心良苦

在微博看到的,感受良多,特意转载了。近日的朋友圈传疯了几个截图,是一个主管给自己手下写的邮件,字字珠玑,用心良苦,干货非常多。相信跟我一样的职场老司机们,都会有很深的共鸣。对于年轻人,可借鉴意义很大。原图的字非常小,看不清楚,但是真的太有价值。我一个字一个字的敲出来,分享给大家。(我做了排版,经典的语句,做了标记)小孟:你入职也有将近一个月了。再次欢

2017-03-15 22:03:04 3748 2

原创 C++基础7:10大标准容器

标准容器(十大容器)1、线性容器:向量(vector)、列表(list)、双端队列(deque)2、适配器容器:堆栈(stack)、队列(queue)、优先队列(priority_queue)3、关联容器:映射(map) 、多重映射(mutimap) 、集合(set) 、 多重集合(mutiset)STL,以模板为基础容器:提供统一的访问接口,泛型化的数据结构迭

2017-03-06 21:40:04 3053

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除