自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哈哈一笑

随笔记录,强行理解,如有错误,欢迎斧正

  • 博客(21)
  • 资源 (24)
  • 收藏
  • 关注

原创 offsetof和container_of的介绍

offsetof定义//include/linux/stddef.h#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)目的获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量用法#include <stdio.h>#define offsetof(TYPE, ME...

2019-06-27 15:08:14 171

原创 命名空间

可能某种情况下,写了一个fun()函数,而正好所引用的库中也包含fun()函数,这个时候编译器不知道到底该用哪个函数,就会报错。基于这种情况下,使用命名空间(namespace)来解决该问题。 简单使用命名空间#include <iostream>using namespace std;namespace hello { void fun() { ...

2019-06-26 15:27:25 102

原创 C++多态

多态定义在面向对象语言中,接口的多种不同的实现方式即为多态。通俗一点的说就是一个父类中有一个函数fun(),有很多子类都继承该父类,而每一个子类中又各自实现了自己的fun()。这些fun()的关联点是函数名称相同甚至参数相同,根据对象的不同调用fun()函数所做的动作也就不同。在C++中说多态先要说虚函数、纯虚函数、普通函数的含义。 虚函数、纯虚函数虚函数:通过关键字virtua...

2019-06-26 11:56:35 270

原创 C++重载

继承继承就是我们依据另一个类来定义一个类,已有的类称为基类,新建的类称为派生类,我更习惯叫父类和子类。有如下几个方面描述继承:访问的权限:子类可以访问父类中所有的非私有成员,也就是说如果父类成员不想被子类的成员函数访问,则应在父类中声明为private。继承的类型:同样分为public、private、protected,通常情况下都是使用public来继承多继承:就是一个子类可以有多个父...

2019-06-25 18:26:47 2020

原创 访问修饰符、友元、this指针

类的构建和使用中描述了部分类和对象的概念,例如构造/析构函数,类函数,下面介绍其他几种概念。 访问修饰符访问修饰符有:public、private、protected三种,描述如下:public:公有成员,在类的外部是可访问的,可以不通过类函数来进行访问和修改private:私有成员,在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员protected...

2019-06-25 17:58:33 187

原创 Class的构建和使用

构建class下面描述的是一个简单的class,有一个变量value,一个类函数,一个构造函数,一个析构函数,其中构造函数和析构函数不是必须存在的。class hello_world{public: int value; /* 成员 */public: void fun(int a, int b); /* 类函数 */public: hello_world();...

2019-06-25 17:21:36 573

原创 VSCode设置插件同步

1、安装Setting Sync插件2、登陆Github,参照Settings Sync Support进行操作3、打开vscode,ctrl+shift+p输入sync,找到update/upload settings,输入上一步生成的key,回车,备份成功之后会有控制台提示4、打开设置,输入sync,找到设置同步使用的Github GIST ID,恢复的时候用ID:69f1332e25...

2019-06-20 10:11:15 2537

原创 win10将文件固定到开始屏幕

对于普通的软件可以直接通过右键->固定到"开始"屏幕完成固定到开始屏幕的操作,但是其他的文件呢,例如.jar类型的文件,我希望将logfilter.jar固定到开始屏幕,执行如下操作:1、创建一个logfilter.jar的快捷方式2、打开C:\Users\MI\AppData\Roaming\Microsoft\Windows\Start Menu\Programs,将logfilte...

2019-06-19 16:41:32 7361

原创 platform设备驱动

platform_busplatform_bus是一种虚拟总线,作用就是将设备信息和驱动程序进行分离,platform_bus会维护两条线,一条是设备,一条是驱动。当一个设备被注册到总线上面的时候,总线会去搜索对应的驱动,反之如果驱动被注册到总线,总线也会去找对应的驱动。描述设备信息的方式有2种,一种是通过手动填充paltform_device结构体的方式进行,另一种是通过设备树的方式进行。&...

2019-06-17 18:53:03 1938

原创 Linux 下获取目录下的所有文件

#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <dirent.h>static int get_files(){ DIR *dirp; struct dirent *dp; dirp = opendir("."); if ...

2019-06-14 18:35:24 3082

原创 标准IO的操作函数

FILE *fp = NULL;FILE *fopen(const char *path, const char *mode);size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *s...

2019-06-14 18:28:50 310

原创 Linux修改文件所有者和文件所在组

修改文件所属组chgrp 组名 文件名/目录 -R修改文件拥有者chown 账户名称 文件名/目录 -R修改文件权限chmod 777 文件名/目录 -R-R表示递归的修改,连同子目录下的所有文件、目录...

2019-06-14 17:03:46 522

原创 Linux增加swap交换区

某些时候当运行内存不够的时候,可以把物理内存中的一部分空间释放出来,以供当前运行的程序使用。步骤如下:1、创建文件夹$ mkdir swap2、进入文件夹$ cd swap3、创建swap文件,count为大小,500000=512MB,下面命令的空间大小为8000000 = 8 * 1000 * 1000 = 8G$ dd if=/dev/zero of=swap bs=1024 c...

2019-06-14 16:54:57 168

原创 变量作用域

变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包括全局变量定义的源文件需要用extern关键字再次声明这个全局变量。静态局部变量具有局部作用域。它只被初始化一次,自从第一次初始化直到程序与你新内阁结束都一直存在,他和全...

2019-06-14 16:44:17 1572

转载 Linux设置printf颜色

#include <stdio.h>/*显示:0(默认)、1(粗体/高亮)、22(非粗体)、4(单条下划线)、24(无下划线)、5(闪烁)、25(无闪烁)、7(反显、翻转前景色和背景色)、27(无反显)颜色值:0(黑)、1(红)、2(绿)、 3(黄)、4(蓝)、5(紫)、6(深绿)、7(白)颜色分为背景色和字体色,30~39(30+颜色值)用来设置字体色(前景色),40~49...

2019-06-14 13:55:18 666

原创 Linux C 回调(callback)函数

callback:即回调函数,是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。实例如下:callback.h中声明callback函数:#ifndef __CALLBACK_H__#d...

2019-06-13 15:02:20 5704

原创 Linux C 互斥锁的使用

互斥锁的作用保护共享数据: 在并发机制的情况下,有时候会有多个线程同时访问同一片数据,为了保护数据操作的准确性就需要通过加锁来进行保护。保持操作互斥: 可能一个程序会有多个操作,但是同一个时间只能有一个操作被执行,例如a/b两个操作,如果a被执行,b就不能被执行,同理b被执行,a就不能执行操作函数pthread_mutex_t lock; /* 互斥锁定义 */pthread_mute...

2019-06-13 14:45:22 23121

原创 利用mtrace来定位memory leak

mtrace 来自GNU(分配内存必须使用glibc的内存分配函数,,使用方法比较简单,例子如下:#include <stdlib.h>#include <stdio.h>#include <mcheck.h>void mtrace_test(){ char *array = (char *)malloc(100 * sizeof(char)...

2019-06-13 11:20:05 351

原创 Linux下获取malloc实际分配的内存大小

使用的函数原型如下:#include <malloc.h>size_t malloc_usable_size(void *_ptr)做了如下测试void malloc_test(){ char *array = (char *)malloc(1 * sizeof(char)); int ntem = malloc_usable_size(array); ...

2019-06-13 10:45:01 7580

原创 宏定义中使用for循环

typedef struct list_data { int value;} list_data_t;#define list_for_each(data) \ int i; \ for (i = 0; i < data.value; i++) { \ printf("hello world\n"); \ }int main(int ...

2019-06-05 10:56:15 9047

原创 input子系统

input驱动#include <linux/module.h>#include <linux/init.h>#include <linux/atomic.h>#include <linux/sched.h>#include <linux/kthread.h>#include <linux/delay.h>#i...

2019-06-03 16:53:00 255

cura设置项详细说明

cura官方说明的中文翻译版本

2022-03-01

typora-setup-x64.zip

typora 0.11.18版本,最后一个免费版本

2021-12-30

SwitchControl.js

Three.js做的旋钮开关,可以点击开关展现开关开启或者关闭的旋转

2021-09-15

linux_fpbigtool.zip

Linux和android下递归转换8bit raw data为png图片,执行文档中的build_android.sh编译android可执行文件,执行文档中的build_linux.sh编译Ubuntu下可执行文件

2021-03-03

ndk-build.zip

Windows下使用git bash通过配置该ndk-build可以实现在git bash中执行ndk-build功能

2021-02-01

ndk-build.exe

通过ndk-build.exe转接,可以直接在git bash中使用ndk-build功能。配合cmder使用git bash可以做到类似Linux的体验

2020-07-02

logfilter_2.1.zip

Android log筛选器logfilter的增强版,相较之前的版本增加了如下功能: 1、F4一键清除所有标记行 2、高亮支持选中大小写敏感 3、log文件存放到以日为单位的目录中 4、增加logcat -c清除按钮 5、适配更多的LOG格式

2020-06-11

Total.Uninstall.6.27.0.CHS.Pro.x64.7z

精确分析已安装程序、监视新程序的安装过程、安全清理系统、管理 Windows 启动过程。控制随系统自启动的程序,服务和计划任务

2020-03-24

cmder.tar.gz

替代windows的cmd,支持大部分的linux命令,支持ssh连接Linux。功能强大,配置简单。配置说明连接:https://blog.csdn.net/qq_33242956/article/details/104966631

2020-03-19

Xshell_5.zip

Xshell 5安装包。安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

2020-03-16

星号密码查看器.zip

将那个像放大镜似的东东忘你保存过密码的地方拖,一会儿这边窗口上就会出现密码了。查看星号密码,查看窗口类名和句柄!!

2020-01-08

Exynos_4412_Datasheet_V1.0.pdf.zip

三星Exynos-4412的芯片手册,高清英文版本。内容非常详细,用于ARM 嵌入式学习非常好用

2019-08-07

csdn_dev.c

《创建一个简单的字符设备》博客一文的源代码,直接编译可用

2019-08-02

微信大礼包图书PDF(10本).rar

包含《Android系统下Java编程详解》《Android系统移植和驱动开发》《Android应用程序开发与典型案例》《从实践中学ARM体系结构与接口技术》《从实践中学嵌入式Linux C编程》《从实践中学嵌入式Linux操作系统》《从实践中学嵌入式Linux应用程序开发》《单片机C语言入门》《物联网技术与实践:基于ARM Cortex-M0技术》

2019-07-29

scull_examples.zip

《linux设备驱动程序》中的scull源码,可以搭配https://blog.csdn.net/yusiguyuan/article/details/10963621来学习

2019-06-27

Linux设备驱动程序设计入门.pdf.tar.gz

秉承《Linux Device Drivers》一书以实例为主的风格,但是实例的背景将非常简单,以求使读者能将集中精力于 Linux 设备驱动本身,理解 Linux 内核模块、Linux 设备驱动的结构、Linux 设备驱动中的并发控制等内容

2019-06-14

Linux设备驱动程序中文版第三版.pdf.tar.gz

高清版本Linux设备驱动程序中文版第三版,详细介绍Linux驱动开发攻略,驱动开发必读

2019-06-14

Linuxnhsjysxdsb.pdf.tar.gz

《Linux内核设计与实现》(第三版)PDF版本,详细介绍了Linux驱动的相关知识,推荐学习Linux驱动必读

2019-05-28

linuxsbqdcx.zip

LINUX设备驱动程序(第三版) PDF版本,详细介绍了Linux设备驱动的基础知识

2019-05-28

logfilter.zip

android log抓取和过滤工具,支持Windows/Linux下运行。可以非常方便的筛选关键词

2019-05-24

threadpool.tar.gz

Linux C线程池实现,有代码和调用参考。线程池代码有详细注释,对于互斥锁使用情况有详细说明

2019-05-17

cJSON-master

C语言中将文本格式转换为json格式进行保存,也可以利用该代码进行提取.json格式文件

2019-04-26

Linux驱动开发入门与实战

第二版Linux驱动开发入门与实战pdf,内容带标签和目录

2019-04-26

FL2440开发板内核移植笔记

FL2440内核移植过程笔记,描述了具体的过程和代码的书写

2019-04-26

空空如也

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

TA关注的人

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