C、C++实现的一种智能数据管理架构

之前研究STL相关结构的时候,发现STL系列的map、list、vector等设计有以下缺陷: 1.迭代删除节点的情况下只可以删除一个节点(不包括清除所有节点的情况); 2.在多线程情况下需要加锁或临界区等形式同步对象结构信息,这种情况属于当前大部分系统设计的短板; 3.计算机运行内存产生碎...

2018-11-25 20:37:21

阅读数 214

评论数 0

红黑树结构完整实现与详解

红黑树结构以平衡、高效的随机访问著称。实际使用过程中,其效率超出想象(节点数量越多,效率越高),大部分情况下查找的节点数量小于节点总量的二分之一,最长的查询路径也才是总量的二分之一加一个节点的距离。 红黑树以黑色和红色用来标记根节点、枝节点与叶节点既有优势也有劣势(当然优势大于劣势): ...

2018-06-27 00:01:08

阅读数 1454

评论数 0

C语言实现XML生成解析库(XML扩展)

放假期间在家有点无聊,前一段时间对XML的生成、解析比较感兴趣,便根据自己对XML的理解结合链表实现一个XML的制作与解析的结构。设计采用了固定格式头信息加自定义头信息: 《?xml version=”xml” encoding=”Utf-8”? 》这段数据属于固定格式头信息,里面的”xml...

2017-10-04 21:38:24

阅读数 843

评论数 0

STL之Vector(Linux内核)完整实现

自上次写了map之后对Vector比较感兴趣,由于对Vector理解不是很深刻,利用业余时间从Linux系统中拷贝出完整的Vector代码进行学习参考,并对一部分做了修改可以在Windows系统运行。 下面简单介绍下Vector的实现方式: 1.Vector的内存分配方式采用了标准...

2017-04-14 22:15:01

阅读数 1420

评论数 0

STL之Map完整(Linux内核)内部实现

刚开始接触Map的时候,了解到Map采用映射的方式储存数据,为了满足自己的好奇心,自己参考相关书籍,并且调试Linux系统的Map源码,成功完成了Map完整代码的封装。总体来说Windows系统Map与Linux系统Map采用了相同的实现思路,只是实现细节有点较小的差异。 同样采用相同的数...

2017-01-18 21:07:30

阅读数 1667

评论数 2

ubuntu编译ubus及相关依赖库

ubus简介: ubus全称为:openwrt micro bus. 引言: 为了在OpenWrt中提供守护进程和应用程序间的通讯,开发了ubus项目工程。它包含了守护进程、库以及一些额外的帮助程序。 核心部分是ubusd守护进程,它提供了其他守护进程将自己注册以及发送消息的接口。因为...

2019-04-06 13:06:47

阅读数 37

评论数 0

buildroot自带程序(库)编译并安装

前几天情绪有点低落,经过周末的调整重新恢复状态,谢谢有爱的朋友们留言和点赞,有你们的陪伴我会更加努力,让我们一起开心写程序..... buildroot简介: 引用官方的简述: Buildroot是一个简单,高效且易于使用的工具,用于生成嵌入式 Linux系统通过交叉编译。 bu...

2019-03-26 00:12:55

阅读数 119

评论数 0

"9*6"工作制度真的不适合我们

前言: 作者(本人)最近比较困惑,回顾以前"早9晚6一周5天"与现在"早9晚8一周6天"的生活方式,"9*6"在工作效率方面并没有提高,甚至有下滑的趋势,分析如下(这里只代表本人的看法): 1. 工作情绪: 生活中...

2019-03-22 05:44:26

阅读数 12051

评论数 121

安卓系统分屏相关修改思路

安卓系统应用在一些特殊设备时,屏幕显示也会有一些特殊要求; 分屏(一面屏幕内显示两个相同的画面),画面分割等,这里讲述一些基本修改思路和简单实例。 OpenGLES相关修改 首先说下比较简单的修改方式,在frameworks层,通过修改"OpenGLES"相关...

2019-03-12 00:29:14

阅读数 40

评论数 0

安卓系统通过"陀螺仪"计算当前坐标(焦点位置)

当我们使用安卓设备 “上下或左右倾斜” 的时候,设备屏幕的 “焦点位置” 会有不同的变化。首先举个例子描述这种情况: 玩过"越野摩托车游戏"的朋友应该都会知道,当手机向左或向右倾斜, 摩托车也会向左或向右偏移一定的角度; 当手机向上倾斜时,摩托...

2019-02-02 01:27:39

阅读数 90

评论数 0

linux Pci字符驱动基本加载流程

今天有朋友问我linux系统Pci字符驱动加载流程,简单整理了一下,顺便做个记录。 首先说下需要包含的头文件: 一个完整的字符驱动一般包含下面这些头文件: #include <linux/types.h> #inc...

2018-12-03 22:26:02

阅读数 89

评论数 0

博客搬家到github啦

新的博客地址为: https://gitlky9.github.io/lky.io/

2018-11-29 10:10:25

阅读数 97

评论数 0

浅谈OpenGL、OpenGL ES

最近研究安卓系统屏幕绘制这部分时,可谓是绞尽脑汁… 偶然得到家人的指点有了思路上的突破,实现了想要的功能。本篇文章结合<OpenGL编程指南>书籍的基础上,简单介绍一下OpenGL的结构。 OpenGL(Open Graphics Library)中文译...

2018-11-27 19:36:55

阅读数 93

评论数 0

CubieBoard7开发板(基于S700芯片)基于安卓系统固件编译

之前使用CubieBoard7开发板提供的代码编译基于安卓系统固件时遇到了一些问题,简单描述一下解决方式。 CubieBoard7开发板资料下载:! 进入到CubieBoard7/Cubietech_Release/Source/Android/Android-SDK-V2.1(当时最新版本)文件...

2018-11-27 14:55:17

阅读数 122

评论数 0

OpenGL ES入门(使用指南)

转载地址:https://www.ict528.com/wpozv3sz3srrtywpoq1qvuyqooqxz1usvwr2uqoo.html。 OpenGL ES 入门 一、前言 OpenGL ES 是 Khronos Group 创 建 的 一 系 列 API 中 的 一 种 ( 官 方 ...

2018-11-21 10:28:04

阅读数 450

评论数 0

AOSP6.0.1 系统中增加新的category类型与app绑定,并在hotseat容器中加载app

在launcher3(桌面程序)的hotseat中,可以通过修改dw_phone_hotseat.xml在指定位置加载指定app(仅限于已经指定category类型为APP_xxxx的app或者是系统APP(这里不描述关于系统APP事件定义方式))。如果想在hotseat中加载自己编写app,比较...

2018-10-20 02:50:16

阅读数 154

评论数 0

AOSP6.0.1 launcher3入门篇—hotseat相关实现

在安卓桌面程序的主界面我们可以看到是由QsbSearchBar(上方搜索框)、Workspace(页视图空间)、pageIndicator(页指示器)、hotseat(底部视图空间)四个部分组成,它们是基于DragLayer 层的基础上进行显示(注释掉 res/ 横屏模式layout-land 或...

2018-10-13 16:01:29

阅读数 121

评论数 0

AOSP6.0.1 launcher3入门篇-解析DeviceProject.java及相关文件

上一篇文章(AOSP6.0.1 launcher3入门篇—解析launcher.java文件)描述了launcher3的加载过程,本篇文章记录hotseat停靠方向和位置、隐藏页指示器、Folder大小、隐藏allapps内上方搜索框等。 首先介绍构造函数: 找到public DevicePr...

2018-10-04 19:55:25

阅读数 61

评论数 0

AOSP6.0.1 launcher3入门篇—解析launcher.java文件

安卓系统是市场占用率最高、用户使用率最多的手机系统。大部分安卓手机厂商在AOSP(Android Open Source Project)的基础上进行二次开发,定制符合自家设备使用的安卓系统。本篇文章记录6.0.1版本launcher3(home程序)的加载过程及launcher.java部分函数...

2018-10-03 02:13:24

阅读数 241

评论数 0

C语言实现内存池

之前编写数据管理结构时用到内存池,在写过的内存管理结构(内存管理结构)的基础上进行重新设计,使其达到内存释放"0碎片"、一体化管理。 目前内存池拥有以下功能: 1.自适应分配超过默认内存池大小的单个内存池(单个内存池默认大小为100M,可以通过修改宏定义或调用修...

2018-09-25 23:32:20

阅读数 215

评论数 0

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