自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shell脚本报错

今天写了一个shell脚本,然后执行的时候总是报错。错误如下:-bash: ./ftrace_function.sh: /bin/bash^M: bad interpreter: No such file or directory  可以文件明明存在的。ftrace_function.sh这个文件,我是在虚拟机中生成的,但是通过pc端在notepad++上面进行编辑。然后在linu

2018-01-24 18:09:25 1603

原创 Linux虚拟机中切换到root用户

在虚拟机中,想切换到root用户,输入su后,输入正确的密码,会提示的内容如下:su: Authentication failure这是因为需要先设置root的密码而不是要输入用户登录的密码。切换到root用户的步骤如下:1. sudo passwd root(给root设置密码) 提示:输入新的unix密码再次确认:输入unix的密码2. 使用 su root就可

2018-01-24 17:53:26 33745 10

原创 C语言架构篇的学习笔记

近来看宋宝华老师的c语言嵌入式系统编程修炼之道,架构篇的笔记整理如下。1.模块划分的几个规则  1)模块即是一个.c文件和一个.h文件的结合,头文件中是对于该模块接口的声明; 2)某模块提供给其他模块调用的外面函数以及数据需要在.h文件中冠以extern关键字声明; 3)模块内的函数和全局变量需在.c文件开头冠以static关键字声明; 4)永远不要在.

2018-01-24 11:19:46 2397

原创 关于sizeof的一些实验

#include #include #include #define a int[10]typedef int b[10];struct student{ int i; char *c; float j; }*stu;int main(void){ int p = 10; struct student * t = NULL; int c[100]; int d =

2018-01-19 14:52:54 267

原创 内存管理学习笔记

1.栈、堆和静态区 静态区:保存自动全局变量和static变量(包括全局静态变量和局部静态变量)。静态区的内容在整个程序的生命周期内都存在。 栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但是空间大小有限。 堆:由malloc系列函数或new操作符分配的内存。其生命周期由free或delete决定。在没有释放之前一直存在,直到程序结束。其

2018-01-18 17:49:16 274

原创 指针的学习笔记

1.指针的大小             一个基本的数据类型(包括自定义类型)加上“*”号就构成了一个指针类型的变量。这个变量的大小是一定的,与“*”号前面的数据类型无关。“*”号前面的数据类型只是说明指针所指向的内存里存储的数据类型。因此,在32位系统下,不管是什么类型的指针类型,其大小都是4byte。可以使用sizeof(void *)进行测试。      也可以这么理解,因为“*”存放的是地址...

2018-01-18 16:37:57 384

原创 命令解析器(使用红黑树实现)

1.设计思路 前段时间研究了一下红黑树,趁着今天有时间,就使用红黑树实现了一下命令解析器。        命令解析器的原则是根据输入的命令,调用相关命令的功能。命令的名字作为红黑树的键值,而相关命令的功能实现则设计为键值。因此红黑树的实现作为了命令解析器的数据结构组织手段。 增加和减少命令时,尽量不需要跨文件的修改(如果只有几个命令,可能可以接受,但是后期维护也是相当大的工作量)。       

2018-01-18 12:01:01 1272

原创 const 关键字

const关键字精确的说代表只读(readonly),其值在编译时不能被使用,因为编译器在编译时不知道其存储的内容。const关键字的目的是为了取代预编译指令,消除它的缺点,同时继承它的优点。1. const修饰的只读变量定义const只读变量,具有不可变性。const修饰的只读变量必须在定义的同时初始化,否则后期进行赋值将出现错误。这也体现了const的只读属性。2.避免

2018-01-02 13:26:14 230

原创 红黑数学习

1. 红黑树的原则1.每个节点要么是黑色,要么是红色2.根节点必须是黑色3.每个空的叶节点是黑色(NIL或者NULL)是黑色4.新插入的节点是红色5.红色节点不能连续(也就是,红色节点的孩子和父亲都不能是红色)(这个原则主要用于节点插入时树的调整)6.每个节点,从任一节点到其nuLL的任何路径,都含有相同个数的黑色节点(也就是相同的黑色节点高度)原则五的

2017-12-29 11:45:53 562

原创 static关键字

static关键字修饰变量,变量可分为 全局变量,静态全局变量,静态局部变量和局部变量1.若按存储区域分,全局变量,静态全局变量和静态局部变量都存放在内存的静态存储区,局部变量存放在内存的栈区2.若按作用分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效

2017-12-15 09:57:07 223

原创 int *p = NULL 和*p = NULL有什么区别

int *p = NULL;1.定义一个指针变量p,这个指针指向的数据类型为int2.在定义变量p的同时,将p的值设置为NULL3.注意:此时只是指针p的值为NULL,这就是初始化过程。但是*p没有赋值int *p;*p = NULL;1.第一句定义了一个指针变量p,这个指针指向的数据类型为int;2.p本身的值是多少不得而知,p有可能保存的是非法地址,那么*p

2017-12-14 18:33:14 909

原创 insmod 的一些权限

问题现状:           Android调试的时候,经常使用adb push命令将ko文件push到系统里。但是push到系统里面之后reboot后,ko文件不会自动加载。           如果在adb shell中手动insmod时,ko文件可以正常加载。问题原因:        ko文件不加载的原因是因为权限问题,将ko文件的权限修改为644之后,再次re

2017-10-24 12:16:29 4946

转载 ADB 常用命令

# 一.基本命令 ·adb -s serialNumber shell//进入指定设备 ·adb version//查看版本 ·adb logcat //查看日志 ·adb devices //查看设备 ·adb get-state//连接状态 ·adb start-server //启动ADB服务 ·adb kill-server //停止ADB服务

2016-12-29 14:20:29 4108

原创 python环境搭建

python环境搭建的素材:1)python安装包2)python的编写环境(eclipse)3)pydev(eclipse的python插件) 安装的注意事项:1)python有两种版本,一种二点几,一种三点几,根据需求确定需要安装的版本2)pydev不同的版本的安装,对eclipse和java的版本要求都是不一样的,若安装pydev最新版本,最好确定eclipse以

2016-10-25 16:41:59 183

空空如也

空空如也

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

TA关注的人

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