自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 python 标准库中的生成器函数

1. 用于过滤的生成器函数 itertools compress(it,selector_it) 并行处理两个可迭代的对象;如果 selector_it 中的元素是真值,产出 it 中对应的元素 itertools dropwhile(predicate, it) 处理 it,跳过 predicate 的计算结果为真值的元素,然后产出剩下的...

2020-03-19 17:13:13 290

转载 软件架构设计原则之“KISS”

KISSKISS = Keep It Simple, Stupid.它的核心就是把一切事情简单化,用最简单的解决方案来解决问题。把一个事情搞复杂是一件简单的事,但要把一个复杂的事变简单,这是一件复杂的事。简单的人生就是幸福。但是这里需要说明的是简单是优秀的,但简单是有底线边界的,超过底线的简单也有变得稚幼。KISS原则来源于《UNIX编程艺术》中总结的。简单是软件设计的目标,简单的代码占...

2020-03-16 15:20:49 470

转载 正则表达式

https://www.runoob.com/python/python-reg-expressions.html

2020-03-13 20:14:22 160

原创 高通常用术语全称

【ADP】 Automotive Development Platform【CVBS】Composite Video Broadcast Signal. Used for analog camera stream case.【INT】Interrupt Pin【PDB】Power Down Mode Input Pin【PHY】 MIPI Alliance Physical Layer standard. There are three PHY types, C...

2021-06-09 20:14:32 4975

原创 高通AIS suspend/resume流程

熟悉suspend/resume流程主要是为了在AIS中增加lpm功能,使得AIS可以进入到低功耗模式。首先需要将suspend/resume注册在pm接口中,这里需要调用到libpm_client.soint AisLpmManager::AisLpmPulseRegister(void *pArg){ int iRet = EOK; struct pm_ops_s AisOps; memset((char *)&AisOps, 0, sizeof(AisOps));.

2021-06-05 15:17:33 2840 2

原创 QNX screen使用介绍 第五章

一、sw_vsync 命令创建一个全屏的背景以及一个运动的bar,用于检测屏的显示状况以及帧率等sw_vsync 参数配置:sw-vsync [-bg_rbga=background_color] [-display=display_id] [-double-buffer] [-format=pixel_format] [-frame-limit=frames] [-gr...

2021-04-05 11:58:18 6086 1

原创 QNX screen使用介绍 第四章

十、screen 剪辑缓冲区当根据需求只需要显示一个指定的区域时,如图所示,可以在一个大的缓冲区中剪辑一个特定的区域用于显示。注意,只能剪辑一个矩形设置窗口缓冲区和源尺寸 int src_size[2] = {1920, 720}; screen_set_window_property_iv(screen_window, SCREEN_PROPERTY_BUFFER_SIZE, src_size); screen_set_window_property_iv(scr..

2021-03-29 16:00:12 4202 2

原创 QNX screen使用介绍 第三章

六、screen 创建子窗口如果一个窗口属于另外一个窗口的一个组件,那么可以将此窗口创建为子窗口,子窗口会继承父窗口的大部分属性,同时也可以单独设置其属性。父窗口隐藏或退出,子窗口也会跟随父窗口,这个可以保证应用的各个组件可以同步操作。以字符串形式检索窗口ID,以便子窗口可以使用它来加入此窗口的组。SCREEN_PROPERTY_ID属性能保证获取的窗口ID在该系统中是唯一的char window_group_name[64];screen_get_window_property.

2021-03-23 23:03:27 4575 4

原创 QNX screen使用介绍 第二章

三、screen context 创建除Event外,所有screen API组件都必须于context关联,所有screen的应用程序的第一步是创建contextenum { SCREEN_APPLICATION_CONTEXT = 0, SCREEN_WINDOW_MANAGER_CONTEXT = (1 << 0), SCREEN_INPUT_PROVIDER_CONTEXT = (1 << 1), SCREEN_POWER_MAN...

2021-03-23 21:49:56 5113 3

原创 QNX screen使用介绍 第一章

一、screen介绍QNX screen系统是一个图形框架,提供开发时图像显示功能,抽象对外统一接口,屏蔽底层硬件差异 screen是基于client/server模型,screen进程是server程序,libscreen/libEGL/libGLESv2提供了对外的API函数 screen支持应用程序渲染和硬件加速 screen支持插件,加载特定的硬件模块,例如显示硬件模块,2D/3D加速器(GPU)和输入设备等资源...

2021-03-23 21:41:16 6662 2

原创 二维数组地址作为函数形参

二维数组使用比较少,平时也没有太注意其地址作为指针传递的问题。描述下遇到的问题:如下所示,本意是想将二维数组首地址作为函数的形参,然后在函数中做一些处理。然后发现直接将首地址传入到test()函数后赋值,程序直接崩溃了。#include <stdio.h>int test(long **data){ data[0][0] = 1; return 0;}int main(){ long test_data[4][6]; long *ptr = (long *)&

2021-03-18 16:40:33 697

转载 什么是语法糖(syntactic suger)

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法...

2020-03-20 11:34:24 627

原创 openWF display API接口解析

1. wfdCreateDevice:创建一个device或者获取已创建的device的操作handledeviceId:表示要创建的设备,deviceId值必须是使用wfdEnumerateDevices()或WFD_DEFAULT_DEVICE_ID检索的设备ID。如果deviceId是WFD_DEFAULT_DEVICE_ID,则返回一个默认设备。系统集成商将确定默认设备。att...

2020-03-19 10:05:09 6245 1

原创 re finditer和findall的区别

re.finditer 函数是 re.findall 函数的惰性版本,返回的不是列表,而是一个生成器,按需生成 re.MatchObject 实例。如果有很多匹配,re.finditer 函数能节省大量内存。使用finditer版本:import reimport reprlibRE_WORD = re.compile('\w+')class Sentence: def __init...

2020-03-18 20:35:15 577

原创 openWF display解析xml配置文件流程

MDSS: multimedia Display sub system 多媒体显示子系统xml解析函数流程​​​​相关函数分析1)MDSS_DrvConfig_Install()实例化MDSS_DrvConfig_FunctionTableType结构体中的函数指着typedef struct{ MDSS_Status (*pMDSS_DrvConfig_Init) ...

2020-03-17 15:15:53 1960 2

转载 attrgetter和itemgetter的区别

itemgetter 的常见用途:根据元组的某个字段(index)给元组列表排序。attrgetter的常见用途:根据元组的某个字段(key)给元组列表排序,支持嵌套。例:使用 itemgetter 排序一个元组列表metro_data = [ ('Tokyo', 'JP', 36.933, (35.689722, 139.691667)), ('Delhi NCR', ...

2020-03-10 09:39:56 869

转载 迭代器

我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象:>&gt...

2020-03-09 14:33:20 120

转载 python 生成器 迭代器 yiled

生成器(generator)概念生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。生成器语法生成器表达式: 通列表解析语法,只不过把列表解析的[]换成()生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存。gen = (x**2 for x in range(5))...

2020-03-09 14:27:58 223

原创 Python 魔法方法:__subclasses__

subclasses() 函数获取类的所有子类class X(object):passclass A(X):passclass B(X):passclass B(X):passprint(X.__subclasses__())# [<class '__main__.A'>, <class '__main__.B'>, <class '__main__....

2020-03-04 14:51:02 3542 3

转载 Python 魔法方法:__mro__

mro:python 类有多继承特性,如果继承关系太复杂,很难看出会先调用那个属性或方法。为了方便且快速地看清继承关系和顺序,可以用__mro__方法来获取这个类的调用顺序。举例class X(object):passclass Y(object):passclass A(X, Y):passclass B(Y):passclass C(A, B):pass print C._...

2020-03-04 14:44:49 1445

转载 Python 语言中的 “鸭子类型”

提到 “鸭子类型”,就要先讲讲面向对象编程语言中的继承和多态。继承首先创建一个 Animal() 父类,父类继承自 object,object 是所有类都会继承的类:class Animal(object): def run(self): print("The animal is running...")然后创建两个子类,继承自 Animal():cl...

2020-03-03 14:25:15 357

转载 猴子补丁(Monkey Patching)

猴子补丁是我在面试的时候接触的一到题,学python的时候,我根本就没有听说这个概念!那接下来我们来分析一下:1.什么是猴子补丁?2.猴子补丁的功能?3.猴子补丁的应用场景?一.什么是猴子补丁?1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相似,再后来就写了monkey(猴子)。2,还有一种解释...

2020-03-03 10:20:17 424

转载 Python.__getitem__方法

Python的魔法方法__getitem__ 可以让对象实现迭代功能,这样就可以使用for…in… 来迭代该对象了class Animal: def __init__(self, animal_list): self.animals_name = animal_listanimals = Animal(["dog","cat","fish"])for animal ...

2020-03-03 10:09:20 2505 1

转载 python报错TypeError: must be str, not int

python报错TypeError: must be str, not int字符串拼接一个整型变量报错,代码如下for i in range(1,586): res = 'test' + i报错信息如下TypeError: must be str, not int1个回答第一种方法:for i in range(1,586): res = '...

2020-03-03 09:41:16 28928 1

空空如也

空空如也

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

TA关注的人

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