自定义博客皮肤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)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

转载 看懂HEX文件

hex文件每一行格式如下:: length(1byte) address(2byte) Data type(1byte) Data(n byte) CRC(1byte) 第一行::020000040000FA解析为:0x02 0x00 0x00 0x04 0x00 0x00 0xFA第一个字节 ---0x02 -- -- 表示...

2019-05-27 18:42:42 3777 1

原创 蓝牙广播包

广播包有两种: 广播包 (Advertising Data)和 响应包 (Scan Response),其中广播包是每个设备必须广播的,而响应包是可选的。 每个包都是31个字节,数据包分有效数据和

2017-11-10 14:05:24 2425

原创 initializer element is not constant

一般出现这种报错原因在于: 全局变量c的值不能在编译时确定,要在执行时确定#include int a = 1;int b = 1;int c = a+b;问题出在int c=a+b;这是不可以的。还有另一种情况报错,就是回调函数的使用,wakeup()是回调函数。错误:registerEventCallback ( wakeup());正确:register

2017-11-09 16:51:38 246

原创 multiple definition of XXX

想把全局变量放在某头文件内,这样所有用到该变量的源文件只需要include该头文件就可以了然而头文件里所有的变量都报错multiple definition of XXX虽然有宏#ifndef PROCESS_DATA_H_#define PROCESS_DATA_H_但是不同的C文件在编译的时候是相互独立的,并不会检查其他C文件里是否已经#define PROCESS_DA

2017-11-06 18:39:11 1096

原创 expected '=', ',', ';', 'asm' or '__attribute__' before xxx

多种情况汇报这种错误,例如代码中有中文之类的,但是如果C文件里有bool,那么也会报这个错误,因为C++里有bool型,而C里面是没有的!!!如果想用bool需要自定义,false和true也是如此#ifndef bool #define bool int#endif#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#defi

2017-11-06 18:30:46 6267

原创 如何查看sourceTree下工程远程地址

1、点击左上角push2、点击界面右上角Setteings3、点击右上角Terminal并在终端输入 cat .git/config方法2、3远程地址可copy

2017-10-25 17:36:38 4410

转载 makefile三种基本写法

转自ruglcc's blog如果一个工程有3个头文件,和8个C文件,我们为了完成前面所述的那三个规则,我们的Makefile应该是下面的这个样子的。模式一:   edit : main.o kbd.o command.o display.o \          insert.o search.o files.o utils.o           cc

2017-03-02 23:48:20 608

转载 makefile三种基本写法

转自ruglcc's blog如果一个工程有3个头文件,和8个C文件,我们为了完成前面所述的那三个规则,我们的Makefile应该是下面的这个样子的。模式一:   edit : main.o kbd.o command.o display.o \          insert.o search.o files.o utils.o           cc

2017-03-02 22:49:35 408

转载 makefile

转自ruglcc's blog关于程序的编译和链接   在此,我想多说关于程序编译的一些规范和方法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(lin

2017-03-02 22:43:16 305

转载 is not in the sudoers file

使用sudo的时候,提示以下错误:xxx is not in the sudoers file. This incident will be reported。     解决方法如下:   1、切换到root用户,运行visudo命令或打开/etc/sudoers编辑一下内容。   2、找到root ALL=(ALL) ALL,在下面添加一行 xxx A

2017-02-21 23:22:26 215

转载 ld:not find lgcc_s

ld: cannot find -lgcc_s解决    今天在编译MUT的时候发生此错误,导致编译错误无法继续    ld: cannot find -lgcc_s    问题原因:    gcc编译模块没有找到,起始是软连接失效了,在find -name 'libgcc_s.so'    后发现有的目录下的gcc*_s.so为红色    解决方法

2017-02-21 23:17:46 361

转载 Could not get lock /var/lib/dpkg/lock

ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决         通过终端安装程序sudo apt-get install xxx时出错:         E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

2017-01-09 22:20:06 272

原创 C++数据类型

基本内置类型,最近本的类型(char \int \float...)复合类型,用其他类型定义的类型(引用、指针、数组)自定义数据结构,使用class、struct自定义的规则,也叫类类型

2016-11-23 23:00:42 188

转载 指针和引用的区别

指针“指向”内存中的某个对象,而引用“绑定到”内存中的某个对象,他们都实现了对其他对象的间接访问。区别:指针本身就是一个对象,允许对指针复制和拷贝,而且在指针的生命周期内它可以指向几个不同的对象;引用不是一个对象,无法用引用绑定到另一个对象。指针无需再定义时赋初值,和其他内置类型一样,在块作用域内定义的指针如果没有被初始化,也将拥有一个不确定的值;引用则必须在定义时赋初值。

2016-11-08 15:40:03 166

转载 移位与乘除关系

2016-11-07 20:50:10 391

转载 更新顺序文件

如果要同时进行输入和输出操作,必须在其中插入fseek函数调用FILE *fp;fp = fopen(file,"r");struct record rec;while(fread((char *)&rec,sizeof(rec),1,fp) == 1){fseek(fp,-(long)sizeof(rec),1);fwrite((char *)&rec,sizeof(rec)

2016-11-03 16:01:50 396

原创 边界不对称性

对上面怎么理解呢?i 和 a[10] 都是局部变量,存储在栈区,如果 i 的地址在前 a[10] 的地址在后,那么上面的代码编译通过运行时报栈溢出;如果先分配 a[10] 的空间再分配 i 的空间,则出现以上解释的陷入死循环现象,因为此时 a[10] 是元素 a[9] 的下一个地址,而这个地址里存储的就是 i 。在Ubuntu16下测试不管是int  a[10],i;还是I

2016-11-02 11:37:27 287

原创 非数组的指针

char *r;strcpy(r,s);strcat(r,t);以上是错误的1、r指向不明。2、r所指向的地址还应该有内存空间可容纳字符串char r[100];strcpy(r,s);strcat(r,t);以上可能错误:r的空间固定,如果r和s两个字符串长度够大,r存储不下会有错char *r,*malloc();r = malooc

2016-11-02 10:33:06 245

原创 词法陷阱

词法陷阱

2016-10-29 18:43:12 228

原创 register\static\volatile

register:使用register修饰的变量,在编译时请求编译器尽可能的将变量存储在CPU内部寄存器,提高访问速度,适用于频繁使用的变量。注意:register修饰的变量类型必须是CPU能接受的,通常是一个单值且长度小于等于int类型长度。register变量直接存储于寄存器,所以没有取地址一说,即“&”取变量地址不合法。static:可修饰局部变量、全局变

2016-10-29 11:05:34 229

原创 makefile

makefile的作用?实现?makefile 关系到整个工程的编译规则,一旦写好只要make命令就可实现整个工程的自动编译,当重新make时,只有发生改变的文件才会被重新编译,极大提高了软件开发效率。makefiel的编写规则:需要由make工具创建的目标体,通常是目标文件或可执行文件要创建目标体所以来的文件创建每个目标体时需要运行的命令,必须以制表符(tab键)开头例:

2016-10-28 23:56:32 309

HIDKBD键值

typedef struct{ u8 cnt; //keycode有效字符个数 u8 ctrl_key; //功能键(Alt/Ctrl/Win/Shift) u8 keycode[KB_KEY_MAX]; //KB_KEY_MAX = 6 }kb_data_t;

2018-07-11

简明python教程

如果开发环境是python2.0可以完全根据教程来做,如果是3.0+的跟着每个例程操作出现报错百度就可以了,python3.0和2.0有所区别

2017-12-27

CSS v6__Core Specification Supplement

Supplement to the Bluetooth Core Specification CSS Version: 6

2017-11-10

局域网内通讯工具

语言:C 语言 工具:Ubuntu编程环境 知识点:Linux下网络编程,数据库知识,文件操作,线程/进程,makefile 采用 CS 架构,选用 TCP/IP 协议,完成客户端与服务器的连接。服务器端装载注册信息与登录信息,通过数据库存储客户信息,通过多线程编程实现发服务器。该项目实现了注册、登录、修改密码;登录后可实现私聊、群聊、查看在线人数、传输文件、查看聊天记录、获取管理员权限及退出登录;在获得管理员权限的情况下可进行禁言、解禁及踢人操作。 缺陷:1、所有的任务指向都是通过频繁的send/recv实现的,可以将指向标注在结构体中;2、全程使用TCP协议,怎样在登录注册后根据实际需求改为UDP协议还在思考;3、可以查阅资料尝试BS架构实现的聊天室;4、兼容性不知道如何,只在自己电脑上运行使用过,其中有两次输入密码,想实现密码不回显,结果在Ubuntu下失败,目前还没解决,但在redhat下测试该模块通过。 诸多不足,仅供参考,文件中各模块都有注释。

2016-10-30

S3C2451驱动

2016-10-30

vim编辑工具

使用Ubuntu16后才知道自带的编辑命令是vi下的,真的很不习惯,还是vim好用 在root权限下,将etc/vim/vimrc替换成该vimrc文件就可以了

2016-10-29

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

TA关注的人

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