logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

嵌入式Linux时区设置

说明在多个平台进行时区设置,发现有多种方式,有的组合设置能生效但是有些组合不能,有些不解,特记录一下。时区设置早期平台(gm8126平台)之前gm8126板子上时区设置只需要将相应的时区文件覆盖掉/etc/timezone即可。/etc/timezone是时区文件,里面内容是复杂不可读的时区信息。平台使用glibc。MTK8516平台MTK8516平台使用systemd系统为初始化进程(init)

多线程技术

说明QT支持以下四种方式实现多线程程序。QThread:低级接口并且支持可选的时间循环QThread是多线程编程的基础类,QThread实例就是线程实例。QThread支持两种使用方式:可以直接实例化QThread。可以继承QThread,实例其子类。实例化QThread(moveToThread方式)该方式是官方推荐使用方式,实例化QThread提供了一个并行的事件循环,允许在其它线程通过信号的

Linux性能分析工具 - perf 和火焰图

linux 性能分析工具 perf 和火焰图

Linux - 安全机制 - 内存地址空间布局随机化(ASLR)

说明学过编译原理可知,C语言程序中所有变量的逻辑地址编译后都是确定了的,但是在linux平台上实际使用中可以发现变量的地址不是固定的,如下:* 示例代码#include <stdio.h>int main(){int a;printf("%p\n", &a);return 0;}* 运行结果xxx@Lenovo-V110-15IKB:~/$ ./test0x7ffdd2ec01

文章图片
#linux
数据结构 - 链表 - 头节点的意义

说明初学数据结构时,对于链表定义一个空数据的头结点表示不理解,不明白其作用,甚至有时为了节省内存空间而去掉该节点,但是头结点是有意义的。头结点示意图:缺点多定义了一个结点,多占用了一个结点的内存。改善方式:可以采用linux kernel中的list实现方式(结点中只包含结点指针不包含结点数据),减少头节点的内存占用。优点单链表或双链表删除或插入节点时,如果没有头结点,处理有两种情况:操作的对象是

文章图片
#数据结构
软重启(reboot)

说明嵌入式开发中,重启操作是最常用的操作之一,由于其操作简单,不容易受到关注,但是不同的重启方式实现和现象其实是不一样的。断电重启操作:关机后再开机,例如:拔掉电源再接上电源或者电池没电后再充电开机。该方式是完整的重启操作,硬件会重新上电,内存等都会被重置,软件会重新执行,重新初始化等。软重启操作:在Linux平台上手动执行reboot命令重启设备,其它平台类似。不同于断电重启,软重启是软件机制,

Linux性能分析工具 - perf 和火焰图

linux 性能分析工具 perf 和火焰图

文章图片
#linux
vscode - 环境准备 - 修改缓存路径

vscode - 环境准备 - 修改缓存路径。

文章图片
#vscode#ide
缩进规则

说明Python采用代码缩进和冒号来区分代码块之间的层次,因此对代码缩进和代码写法要求非常严格,代码格式错误是Python新手常见的错误,缩进错误也很常见。规则同一个代码块的缩进量必须一样,不然就会报错,不同代码块缩进量可以不一样,但具体缩进量是多少并不做要求。#!/usr/bin/pythondef test():print("hello")...

#python
到底了