![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
Horsdy123
这个作者很懒,什么都没留下…
展开
-
CMake编写教程
示例项目示例项目的目录树结构可能如下所示:- myProject/ - CMakeLists.txt - sdkconfig - components/ - component1/ - CMakeLists.txt - Kconfig - src1.c原创 2020-11-26 16:44:50 · 6017 阅读 · 0 评论 -
C++ 资源大全中文版
C++ 资源大全中文版我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-cpp就是 fffaraz 发起维护的 C++ 资源列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。我们要做什么?基于 awesome-cpp 资源列表,我们将对.转载 2020-05-28 18:21:45 · 413 阅读 · 1 评论 -
判断sqlite查询解决结果为空
使用sqlite查询时, 注意返回结果为NULL的清空, 使用sqlite3_column_type() 来判断实例:/*Brief: 查询只有一条记录的string*/int oper_data_select_str(sqlite3 *db, char *sql_cmd, char *out_str, int len){ int rc; sqlit...原创 2019-11-28 10:53:58 · 4416 阅读 · 0 评论 -
ring buffer api(可循环读写)
/*下面是一套实现简洁的的RingBuffer API,特点:1 可以循环读写2 可以通用*/#ifndef RINGBUFFER_T#define RINGBUFFER_T(elemtype,size) \struct \{ \volatile unsigned int write; /* must be unsigned */ \vo原创 2016-11-19 10:24:01 · 770 阅读 · 0 评论 -
值为-1的unsigned char 变量 不等于 数字-1
值为-1的unsigned char 变量 不等于 数字-1原创 2016-11-19 10:20:46 · 2581 阅读 · 0 评论 -
ring buffer api(可循环读写)
/*下面是一套实现简洁的的RingBuffer API,特点:1 可以循环读写2 可以通用*/#ifndef RINGBUFFER_T#define RINGBUFFER_T(elemtype,size) \struct \{ \volatile unsigned int write; /* must be unsigned */ \vo原创 2016-07-25 16:12:42 · 911 阅读 · 0 评论 -
C/C++中extern关键字详解
C/C++中extern关键字详解1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这转载 2016-06-01 11:35:23 · 360 阅读 · 0 评论 -
多态性
多态性(polymorphism)是面向对象程序设计的一个重要特征。利用多态性可以设计和实现一个易于扩展的系统。 在C++程序设计中,多态性是指具有不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性的:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自原创 2016-06-01 11:34:20 · 636 阅读 · 0 评论 -
虚函数与多态性
1 概念多态性是面向对象语言的一个重要性质,虚函数是帮助C++实现多态性的技术。多态性体现在可以使用基类的指针调用派生类的同名函数。前提是基类的同名函数是virtual的。2 例子例如:class Tool{Public:Tool() {}~Tool() {}virtual use(){cout}原创 2016-06-01 11:33:13 · 453 阅读 · 0 评论 -
在软件开发中的抽象思想
抽象是软件发展和具体开发中的一个重要思想,抽象使得软件开发变得简单、关系清晰,提高通用性和可维护性。以下截图来自《C++沉思录》原创 2016-06-01 11:31:56 · 1035 阅读 · 0 评论 -
bootloader
【1】计算机开机,首先自动读取主板上一个CMOS的程序BIOS,并执行BIOS。【2】BIOS读取硬盘上MBR或者boot sector中存储的程序bootloader。【3】bootloaer 加载操作系统到内存。为什么bootloader还有第二个存储地点?因为一个硬盘只有一个446Byte的MBR,想要给计算机装多系统,则boot loader可以安装在每原创 2016-06-01 11:29:51 · 386 阅读 · 0 评论 -
栈的作用
1 概念栈是一种具有后进先出性质 的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈 的数据所处的位置,栈顶是最后一个进栈的数据所处的位置。2 分类根据SP指针指向的位置,栈可以分为满栈和空栈。 1. 满栈:当堆栈指针SP总是 指向最后压入堆栈的数据 2. 空栈:当堆栈指针SP总是 指向下一个将要放入数据空位置 ARM采用满原创 2016-06-01 11:23:16 · 1213 阅读 · 0 评论