摘要: 1. 根本原因: 引用了不存在的序列类型中的内存. 比如 序列 OctecSequence data; 如果 data分配的内存为空, 如果引用 data[0] 就会引起该异常. 2. 本场景出现异常就是因为, DataReadListener数据监听接口On_data_availiable, 监听 阅读全文
posted @ 2020-06-17 10:17 猿起5-2 阅读(428) 评论(0) 推荐(0)
摘要: 转换(cast),通常意为"浇铸成一个模型". 应该小心使用转换,因为转换实际上要做的是对编译器说"忘记类型检查,把它看作是其他类型." 标准C++包括一个显式的转换语法,使用它完全替代就的C风格的转换. 1. 静态转换 (static_cast) 用于明确定义的变换 2. 常量转换(const_c 阅读全文
posted @ 2020-06-16 13:31 猿起5-2 阅读(236) 评论(0) 推荐(0)
摘要: c++中, const必须有初始值. 常量值,编译器默认为 十进制 常量值前带0 : 八进制 数字超过7,编译器报错 常量值前带0x: 十六进制 常量值可以加后缀,强加数据类型, 比如 16L, 16l, 12.5f (浮点型默认是double类型) 阅读全文
posted @ 2020-06-16 13:12 猿起5-2 阅读(153) 评论(0) 推荐(0)
摘要: 1. 宏定义 格式: #define PI 3.14 在编译之前,就将宏名替换为字符串。宏是在预编译时执行的,而函数是在运行时执行的。在预处理阶段即进行了宏展开(宏替换),在执行时不需要转换,即在当地执行。宏定义不分配内存,变量定义分配内存。 优点: 1)代码在预处理期被简单文本替换; 宏替换只作替 阅读全文
posted @ 2020-06-15 13:34 猿起5-2 阅读(183) 评论(0) 推荐(0)
摘要: 1. static (1) 对于局部变量,延长了该变量的声明周期, 静态局部变量只在第一次生效, 但是其作用域依旧和局部变量一样. 如果未初始化,默认为0 (2)对于全局变量, 限制了该变量的作用域, 只能在本文件中有效, 其它文件引用该变量,在链接时,编译器报错. 2. extern (1) 修饰 阅读全文
posted @ 2020-06-15 13:17 猿起5-2 阅读(93) 评论(0) 推荐(0)
摘要: linux系统查看CPU信息,可以通过 cat /proc/cpuinfo查看 1. ARM处理器 2. Intel 处理器 3. PowerPC 阅读全文
posted @ 2020-04-13 18:35 猿起5-2 阅读(466) 评论(0) 推荐(0)
摘要: #include <stdio.h> //从标准输入端(终端)读取 int scanf(const char *restrict format, ...); //从文件中读取 int fscanf(FILE *restrict stream, const char *restrict format, 阅读全文
posted @ 2020-04-13 12:09 猿起5-2 阅读(471) 评论(0) 推荐(0)
摘要: 1. 函数指针是指针, 指向函数的指针 int (*p_fun)(int b, int c) 声明一个函数指针p_fun,它指向参数为int b, int c,返回值为int的函数。 int (*p_fun)(int, int) = NULL; //初始化指针为NULL 2. 指针函数是函数,返回值 阅读全文
posted @ 2020-04-03 14:28 猿起5-2 阅读(139) 评论(0) 推荐(0)
摘要: 一. POSIX - 信号量 #include <semaphore.h> sem_t sem; ///< 信号量 信号量,分为有名信号量 和无名信号量。 有名信号量由sem_open/sem_close/sem_unlink创建/关闭/销毁,用于进程间通信。 无名信号量由sem_init/sem_ 阅读全文
posted @ 2020-03-22 16:36 猿起5-2 阅读(358) 评论(0) 推荐(0)
摘要: 消息队列: message queue 消息队列是Linux IPC中常用的一种通信方式。 消息队列是随内核的持续性,只要内核没有重新自举,Linux系统没有重启,都是一直存在的。 一 posix 消息队列 头文件 #include <mqueue.h> link with -lrt 1. 创建消息 阅读全文
posted @ 2020-03-17 09:43 猿起5-2 阅读(760) 评论(0) 推荐(0)