自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

转载 ldconfig用法

ldconfig 参考:http://man.linuxde.net/ldconfig https://blog.csdn.net/chenzixun0/article/details/56278632 主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动...

2021-05-31 16:14:58 1351

原创 简单明了的区分C++ C语言中声明(declaration)、定义(definition)、签名(signature)的区别

何为声明(declaration)?告诉编译器某个东西的类型和名称,即不提供存储的位置和具体实现的细节。extern itn x; // 变量声明std::size_t func(int num); // 函数声明class Widget; // 类声明template<typename T> // 模板声明class Student;何为定义(definitio..

2021-04-06 16:20:22 2437

原创 C语言中Static关键字的用法

static 关键字static 修饰的全局变量和函数只能在本模块中使用,不能在其它的模块中使用。因此,当一个函数或变量只能在本模块中使用时,不能用 extern “C” 关键字修饰,用在其它的文件中调用。当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。其它的文件中可以调用该函数和变量。加了static关键字后,相当于做一个隐藏的作用,只对当前调用的文件有效。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。比如 a.c 文件中定义了一个全局

2021-04-06 16:16:28 298

原创 最简单易懂的方式来介绍什么回调函数(Callbacks)

文章目录1. Callback(回调函数)1.1. 什么是回调函数?1.2. 分类1.3. 用途1.4. 为什么要使用回调函数?1.5. 代码实现1. Callback(回调函数)1.1. 什么是回调函数?将函数指针作为一个参数传递给另一个函数。把函数的指针(地址)作为另一个函数参数的入口地址传递,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。1.2. 分类根据回调函数在运行时控制数据流的方式不同,可以为两种类型的回调函数。阻塞回调(Blocking callbacks)

2021-04-05 22:49:51 2055 1

原创 简单讲解C语言中为什么要使用字节对齐

结构体填充与数据对齐结构变量的大小等于它包含所有变量的总大小。结构体填充:是编译器用来对齐内存偏移数据。字段填充:为了提高性能,编译器在结构体中利用 结构体填充 方法进行数据对齐。数据对齐:当CPU读写内存时,它都在小块内(字长或4个字节)进行。这种安排增加了系统的性能,有效地将数据存放在字长整数倍的偏移地址。结构体中每个数据类型都要对齐联合体中按照最大长度的数据类型对齐按照基本数据类型对齐为什么要字节对齐?现代计算机中内存的存储理论上都是按照 byte 大小来存储的,但实际上是

2021-04-05 18:31:17 722

原创 最简单的方式理解函数指针与指针函数

文章目录1. 指针函数1.1. 定义1.2. 格式1.3. 代码实现2. 函数指针2.1. 什么是函数指针?2.2. 函数指针定义格式2.3. 特点2.4. 使用步骤2.5. 代码实现2.6. 常见的函数指针声明2.7. 为什么使用函数指针:2.8. 其它指针声明2.9. []、()、* 优先级比较 2.10. 函数指针数组1. 指针函数1.1. 定义指针函数是返回结果的类型为指针的一个函数。其本质是一个函数,与普通函数的区别是,指针函数的返回值是一个指针,函数返回的数据是一个地址。1.2. 格式

2021-04-05 16:15:30 182

原创 C语言中volatile关键字用法

1.1. 编译器的优化介绍介绍Volatile关键字之前我们先了解一下编译器的优化。高速缓存:处理器读取程序里面的数据时,把一些访问频率比较高的数据,临时存储到寄存器(register)中,当需要取数据时,就会从 register 中取,而不是直接去从 memory(内存)中取,节约了时间,像这样的过程,叫做高速缓存。硬件级别的优化:内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存(Cache),加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执

2021-03-06 18:14:03 5589

原创 C、C++中++i与i++的区别

C++中使用++i与i++两者的效率有何区别?i++ 表示先引用,后自增。 ++i 返回的是对象的引用(reference of object),而 i++ 返回的是对象的原值(origin of object,但非左值)。++i 先自增,后返回原对象的对象,没有产生任何临时对象;而 i++,先保存原对象,然后自增,最后返回该原对象的临时对象,需要创建和销毁对象。对于C++内置类型,两者的效率差别不大;对于自定义的类而言,++i 的效率更高一些。C语言中没有面向对象,两者的使用效率是一样的,只不

2021-02-26 15:41:58 719

原创 *p++操作执行的过程

在项目中遇见了 *p++ 这种操作,但不明白在 *p++中 ++ 和 * 是怎样执行的?现在我们来一一剖析它的运算过程。C语言中取值运算符 * 与前置自增运算符++、后置自增运算符++都属于单目运算符,运算符的优先级顺序同为第2级,结合方向为 右到左。其中,* 使用形式为:*p,用于指针变量,前置自增使用形式为 ++i,后置自增使用形式为 ++i。注意同一优先级的运算符,运算次序由结合方向所决定。简单记就是:! > 算术运算符 > 关系运算符 > && &

2021-02-26 11:48:06 4858 2

原创 Linux中find与grep的用法介绍

find:按照文件属性查找选项参数-name: 例子:find /usr/src -name filename.txt-type: 例子:find /usr/src -type filename.txt类型包括:f(file), d(directory), l(link), c(char), d(device), s(socket), b(block)-size: 默认单位为512byte,一个扇区的大小例子:find /usr/src -size +10M -size -20M 查

2021-01-31 18:25:02 471

原创 深入理解C语言中的结构体

结构体定义(3种)声明结构体包括两步定义结构体声明相应结构体类型的变量(结构体能包含C语言允许的所有类型变量)法一:在定义结构体类型的同时说明结构体变量struct 结构体标识符{ 成员变量列表;}变量名列表;法二:直接说明结构体变量struct{ 成员变量列表;}变量名列表;法三:先定义结构体,再说明结构体变量struct 结构体标识符{ 成员变量列表;};struct 结构体标识符 变量名列表;调用结构体:普通结构体

2021-01-31 18:00:18 148 2

原创 字(word)、字节(byte)、半字(half-word)的理解

概念字定义:总线是一般设计用来传输固定大小的数据,这块数据被称为字(word)。一个字包含的字节数(即字的大小)是各种计算机系统里面的基本参数,而且这个参数在不同的操作系统里通常是不同的。CPU按照其处理信息的字长可以分为:8位微处理器、16位微处理器、32位微处理器以及64位微处理器CPU最大能查找多大范围的地址叫做寻址能力,CPU的寻址能力以字节为单位,如32位寻址的CPU可以寻址2的32次方大小的地址也就是4G,这也是为什么32位的CPU最大能搭配4G内存的原因,再多的话CPU就找不

2021-01-31 17:47:58 7230 3

原创 C语言中extern和extern “C“关键字的用法

extern和extern "C"关键字C/C++中使用 extern 声明的变量或函数,它们的作用域是全局的,告诉编译器使用该关键字声明的变量可以在本模块或其他模块中使用。只是 声明(declaration) 了变量,但是并没有 定义(definition) 该变量,需要在具体使用的地方去定义该变量。// 在某个.h 文件中声明了变量extern int a;// 在某个具体的.c或.cpp文件中使用int a = 100;extern "C" 的作用是为了能够正确在 C++ 代码

2021-01-31 17:39:32 477

原创 设计模式:Observer观察者模式剖析

1. 什么是Observer?定义对象之间的一种一对多的依赖关系,以便每当一个对象状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。观察者模式也叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对象行为型模式。在观察者模式中,发生改变的对象称为观察目标(Subject),而被通知的对象称为观察者(Observer),一个 Subject 可以对

2021-01-19 23:25:31 172

原创 剑指offer第11题:旋转数组的最小数字

第11题:旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。示例1:输入 [3,4,5,1,2],返回值为 1思路最直观的解法从头到尾遍历一遍数组,就能找出最小的元素,这种思路的时间复杂度是 O(n)\Omicron(n)O(n),这种思路,显然没有利用输入的旋转数组的特性,肯定达不到面试官的要求。利用二分法查找的思想实现。.

2021-01-14 23:53:27 83

原创 剑指offer第40题:最小的K个数

第29题:最小的K个数题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。示例1输入:[4,5,1,6,2,7,3,8],4返回值:[1,2,3,4]实现思路方法一:直接采用排序的方式,调用STL中sort 方法class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k

2021-01-13 23:39:54 123

原创 C++11中override关键字使用

什么是override?override 是C++11引进的一个说明符,翻译为 覆盖 的意思。C++11 中的 override 关键字,可以显式的在派生类中声明,哪些成员函数需要被重写,如果没被重写,则编译器会报错。override有什么用?在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明(declaration),而我们在实现时,就需要实现接口声明的所有方法。在程序中加override 关键字,可以避免派生类中忘记重写虚函数的错误。另一个典型..

2021-01-11 11:40:49 2250

原创 C++11中enable_shared_from_this的用法解析

什么是 enable_shared_from_this?下面摘自 cpp reference 中概述C++11开始时支持 enable_shared_from_this,它一个模板类,定义在头文件 <memory>,其原型为: template< class T > class enable_shared_from_this;std::enable_shared_from_this 能让其一个对象(假设其名为 t ,且已被一个 std::shared_ptr 对象 pt

2021-01-10 23:28:49 33126 12

原创 C++中mutable关键字

C++中mutable关键字mutable是什么?mutable的中文译为 “可变的,易变的”,是constant(即C++中的const)的反义词。C++中为了突破 const 的限制而采用的,被 mutable 修饰的变量将永远处于可变的状态。为什么要用mutable?我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被 mutable 来修饰

2021-01-10 21:09:01 1305

原创 常用网站和在线工具

介绍一些自己在学习中常用的网站和工具,方便自己查阅和大家学习。文章目录博客和知识社区公开课和在线视频学习编程和刷题网站在线工具博客和知识社区CSDN :国内主流的博客,平常访问的比较多。Stack overflow :国外很好的技术社区,平时遇见的问题90%以上都可以在上面找到。知乎:国内很好的技术知识问答社区,在上面可以找到许多学习的资料和诸多大咖分享的知识经验。Github:全球...

2019-08-31 13:02:23 265

转载 机器学习之特征工程

首先,给一张特征工程的思维导图: 关于特征工程(Feature Engineering),已经是很古老很常见的话题了,坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。纵观Kaggle、KDD等国内外大...

2018-06-26 18:20:47 219

原创 Markdown中LaTeX常用数学公式整理

使用LaTeX写公式的基本语法行内公式与行间公式LaTeX 公式有两种,一种是用在正文中的,一种是单独显示的。正文中的公式用$...$ 来定义,单独显示的用 $$...$$ 来定义,其中 ... 表示的是LaTeX 的公式命令。例如: 1. 定义$f(x) = \sum_{i=0}^{N}\int_{a}^{b} g(t,i) \text{ d}t$(行内公式) 2. ...

2018-06-25 04:55:43 549

原创 RaspberryPi3 Install OpenCV3.3.1 for Python3.5.3

安装OpenCV的方法有很多,今天给大家分享的是树莓派3在虚拟环境沙盒(virtualenv Virtualenvwrapper)中使用python3安装OpenCV3.3.1。

2017-12-23 03:04:59 1156

测量电子电路设计滤波器篇

这是一位日本作家远坂俊昭写的一本关于滤波器设计的书,很详细的介绍了关于各种滤波器的制作,内容很丰富,值得读!

2017-09-01

空空如也

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

TA关注的人

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