自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C/C++中容易混淆的语法点整合

1、char const *p, const  char *p, char *const  p 的区别      识别方法:从右往左读      char const *p   p是一个指针,指向const char 常量(const不能和*进行组合)      const char *p   p是一个指针,指向const char 常量      char *const p  

2018-01-25 10:26:08 251

原创 LUA学习笔记(二)---LUA函数\数组\迭代器

LUA函数(1) Lua 编程语言函数定义格式如下:optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_params_comma_separatedend解析: opti

2018-01-25 10:24:40 295

原创 JAVA语法学习

一.JAVA 语法:类名首字母需大写JAVA中的类和变量:类创建的时候会调用默认的构造函数 变量: 局部变量,成员变量,类变量 类变量:又叫静态变量,以static标明,随着类的加载而存在,存储在静态存储区,可以通过对象访问或者类直接访问,简而言之,是属于类的。 成员变量:又叫实例变量。随着对象创建而创建,随对象释放而释放,存储在堆上 判断成员(成员变量和成员函数)是否需要创建静态变量,需

2017-12-28 20:48:33 442

原创 指针使用案例-C/C++中使用指针出现过的误区

案例:通过传递指针值读取内存中的数一、 指针: 百科释义: 指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。 Wiki: a pointer is a programming language object, wh

2017-12-28 20:38:50 295

原创 MQTT学习(四)-linux下交叉编译

mosquitto在运行的时候需要用到几个比较重要的动态库libmosquitto.so, libssl.so, libcrypto.so,需要参看用户的配置,可能不光光需要包含这么多库,本文章在设置是配置项如下: 其中libmosquitto.so是由mosquitto的源代码编译来的一些函数的动态库,另外两个则需要先进行交叉编译,生成ARM架构的动态库才可以在编译的时候应用。1.交

2017-12-28 20:33:43 5572

原创 linux笔记(二)-遇到的coredump

造成程序coredump的原因有很多,这里总结一些比较常用的经验吧: 1,内存访问越界 a) 由于使用错误的下标,导致数组访问越界。 b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符。 c) 使用strcpy, strcat, sprintf, strcmp,strcasecmp等字符串操作函数,将目标字符串读/写爆。应该使用strnc

2017-12-28 20:29:36 185

原创 linux笔记(一)-经常用到的VIM指令和系统常用命令

一.linux常用指令一.linux常用指令1.文件夹重命名: mv A B\2.使用nc命令传输文件: 目的主机监听 nc -l -p监听端口[ 未使用端口] > 要接收的文件名 nc -l 4444 > cache.tar.gz 源主机发起请求 nc 目的主机ip 目的端口 < 要发送的文件 nc 192.168.0.85 4444 ...

2017-12-28 20:27:32 273

转载 LUA插件开发——wireshark插件开发

参考文档: http://www.cnblogs.com/zzqcn/p/4840589.html 该博主针对wireshark下LUA脚本的开发做了一系列的笔记,实测详细并且有效,故转载。1. 骨架 首先新建一个文件,命名为foo.lua,注意此文件的编码方式不能是带BOM的UTF8,否则wireshark加载它时会出错(不识别BOM):复制代码-- @brief Foo P

2017-03-16 09:39:58 981

原创 lua脚本语言学习笔记(二)---LUA函数\数组\迭代器

LUA函数(1) Lua 编程语言函数定义格式如下:optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_params_comma_separatedend解析: optional_func

2017-03-16 09:06:13 995

原创 802.11无线wifi协议学习(二)

今天觉得有必要将最近在智能wifi芯片中涉及到的有关802.11无线WIFI协议的知识储备记录下来。 1、使用802.11无线WIFI的数据长度来传递信息 802.11 是 IEEE 制定的无线局域网协议,802.11 以 802.2 的逻辑链路控制封 装来携带 IP 封包,因此能够以 802.2 SNAP 格式接收无线网络数据。如果开启 wifi 芯片的混杂模式监听空间中的无线信号,并以

2017-02-20 15:56:18 9202

转载 数组指针和指针数组的区别

数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;

2017-02-20 10:49:30 291

原创 LUA学习笔记(一)---LUA变量和循环语法学习

一、Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。string.len(s) 返回字符串s的长度; string.rep(s, n) 返回重复n次字符串s的串;你使用string.rep(“a”, 2^20)可以创建一个1M bytes的

2017-02-16 14:56:12 666

原创 HTTP学习笔记(一)

一、HTTP请求 1. HTTP1.1规范的Range是怎样一个约定? range 用作断点续传   如果Server支持Range,首先就要告诉客户端,咱支持Range,之后客户端才可能发起带Range的请求。response.setHeader(‘Accept-Ranges’, ‘bytes’);   Server通过请求头中的Range: bytes=0-xxx来判断是否是做R

2017-02-15 15:46:37 442

原创 代码回顾:编程中一些经验性的问题

一、结构体编程: (1) 结构体初始化 今天在编程过程中。一个结构体定义 struct bss_info { int a; int b; } 我在应用的时候,直接这样定义 bss_info *a = NULL; 结果编译器报出不识别bss_in

2017-02-07 10:01:28 476

原创 linux中vim编辑器指令记录

今天在写shell文件的时候,想当然的在WIN下编写好了,在linux中运行,但是回车符在win下是两个字节(CRLF),在linux下是一个字节(LF),这就造成了问题 所以还是要在Linux下用vi编辑器编写.基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

2017-02-05 15:58:32 669

原创 基于contiki系统的MCU使用经验总结

Contiki 是一个小型的,开源的,极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。在使用contiki系统中字节总结了如下几个情况:contiki进程使用:1、系统应用一直处在一个大的WHILE循环中,contiki也会提供进程式的服务(PROCESS_THREAD),进程通常也是处于WHILE循环中,系统同一时刻只

2016-09-02 11:34:16 1665

原创 针对物联网中MQTT协议的学习(三)

在linux可以直接跑MQTT的客户端和服务端应用,步骤如下:参考文章如下:http://www.360doc.com/content/14/1010/17/12928831_415836429.shtml (1) 先安装mosquitto客户端和服务端,指令:sudo apt-get install mosquitto_pub     sudo apt-get install

2016-08-23 21:00:51 748

原创 802.11无线WIFI协议学习笔记(一)

802.11帧的三种类型:数据帧:好比  802.11 的驮马,负责在工作站之间传输数据控制帧:与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性管理帧:负责监督,主要用来加入或退出无线网络,以及处理基站之间连接的转移事宜一  802.11帧格式1、数据帧:根据帧类型不同,并非每个帧都会用到所有

2016-08-23 19:21:51 30776 2

原创 RSA加密方式学习

在熟悉RSA加密方式之前,先了解SSL,SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议(百科)。SSL流程:服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新

2016-08-01 17:32:23 556

原创 linux 环境变量设置、指令学习、日常用到的linux知识

一、linux添加环境变量;添加PATH环境变量,第1种方法:export PATH=/usr/local/webserver/mysql/bin:$PATH再次查看:echo $PATH         /usr/local/webserver/mysql/bin:/usr/local/webserver/mysql/bin/:/usr/kerberos/sbin:/usr/

2016-07-27 10:03:18 808

原创 MQTT协议学习_客户端代码学习笔记(二)

前一篇是有关Mqtt底层协议机制的阅读,这一片针对客户端逻辑进行学习MQTT客户端建立逻辑步骤:建立连接 ——> 链接回复 ——> 订阅服务(要有订阅关键词) ——> 订阅确认 ——> 发布消息 穿插心跳 、心跳回复1、建立连接; 建立连接需要一个结构体typedef struct{char struct_id[4];             //定值int

2016-04-21 11:29:39 4362

转载 HTTP中Get与Post的区别(附结合C++使用HTTP请求阅读笔记)

今天看到一篇好文章,之前一直对HTTP协议中使用POST还是GET不是很清楚:文章转载自:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.htmlC++实现部分参文章:http://m.blog.csdn.net/article/details?id=16336713Http定义了与服务器交互的不同方法,最

2016-04-20 17:40:35 1967

原创 遇到的问题(一):智能家居中WIFI模块设备在接收底层家具设备串口数据时由于断帧而出现的指令丢失的情况处理

今天在工作中遇到一个问题:之前的WIFI模块在处理家居设备发起的数据原理是按帧接收串口数据,然后从该帧中根据不同的设备协议摘取相对应的模块指令,在处理较短帧数据的时候基本没有出现问题,但是 在接受较长帧数据的时候,出现了断帧引起的指令丢失的情况,比如说一条包含很长数据的指令,在前一帧只传递了包含包头、命令、一部分的数据,后一帧传来了其余数据包括校验数据的情况。造成这种情况的发生,本人预计可能由

2015-09-08 10:45:20 1163

原创 代码回顾:从一个文本文件中读取一行的内容,进行数据处理。

今天在写一个测试用例的时候,需要实现如题的功能:一、用ifstream 和getline 来实现。  string tmpStr(""); string *a = new string[MAX_LINES]; int index = 0; inFile.open("haha.txt", ios::in); if (NULL == inFile)

2015-06-30 17:28:51 3292

转载 static 在C/C++中的用法总结

static关键字是C, C++语言中中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用.(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register(谭浩强, 第1

2015-06-26 16:02:45 653 1

原创 创建一个MDK工程时常见的几个问题

问题一:出现“cannot find argument 'Reset Handler'" 网上有很多说是导入一下startup_stm32f10x_hd.s启动文件, 但是我选择的直接是cortex-m3,并没有提供启动文件,其实这个问题应该是配置rom和ram时候出现的这个问题,读者可以尽量往这个方面考虑,我的解决方式是通过配置Scatter file来解决这个问题的,当然我找的是同

2015-06-25 10:58:31 959

原创 编程时,容易因为粗心而引发的错误

1、二维数组初始化问题:int a[10][10]={0};//正确a[10][10]={0};//错误,和初始化区别开,需要表达式对其赋值。2、数组初始化时维数一定要是大于或者等于1的常量表达式:int a[]; //错误int b=10;int c[b]; //错误,必须要是常量const int sz=get_size();int d[get_size()];

2015-06-24 14:43:32 713

原创 代码回顾:关于写代码时cout 和printf 输出16进制数的简单思考

好吧,我承认自己很low,为这些东西烦恼,不过自认为基础一直是很重要的,尤其是对我这样的。。。1、今天在用cout 输出 unsigned char 形式的数据时,控制台显示的是乱码,改用printf 的形式输出,解决了这个问题,这在C/C++中比较容易混淆。unsigned char i=0xaa;char j=1;cout<<i; //输出乱码cout

2015-06-23 18:02:22 1965

原创 MQTT协议的学习(一)

MQTT协议是IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分。今天在学习MQTT协议的基础上,概括如下:1、首先协议要求对一些字符编码的认识,这其中有对UTF-8的认识:基本上就是由于ASCII的7位编码形式不能表示像汉语等字符,于是增加了一个字节用unicode字符表示,       但是用unicode表示ASCII码并不是一个高效的选择,所以采用UTF-8等格

2015-06-16 10:05:13 1712

空空如也

空空如也

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

TA关注的人

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