自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C++中volatile关键字

转载https://blog.csdn.net/weixin_44363885/article/details/92838607一、volatile介绍volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这

2020-08-11 21:35:54 140

转载 C/C++中static的用法全局变量与局部变量

转载自C/C++中static的用法全局变量与局部变量 1.什么是static?  static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。1.1static的引入  我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的

2020-08-06 22:58:06 304

转载 多进程与多线程通信同步机制

多进程通信方式文件映射:本地之间共享内存:本地之间匿名管道:本地之间命名管道:跨服务器邮件槽:一对多的传输数据,通常通过网络向一台Windows机器传输剪切板:本地之间socket:跨服务器https://www.cnblogs.com/wanghuaijun/p/6978026.html...

2020-08-05 12:02:34 1509

转载 为什么需要智能指针

参考自https://www.cnblogs.com/round1/p/12906648.html主要为了避免以下Bug:内存泄露   :对象无法被释放,最常见的问题。野指针       : 指针指向未知。重复释放   :    顾名思义。  (一)内存泄露 :  1. 抛出异常,函数中途退出,释放操作没有执行C * c = new C;throw;

2020-08-03 23:39:29 423

原创 进程与线程的区别

进程与线程的介绍参考http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。区别参考https://blog.csdn.net/zhou753099943/article/details/51771220https://blog

2020-08-02 22:14:23 82

转载 深入学习卷积神经网络(CNN)的原理知识

转载自https://www.cnblogs.com/wj-1314/p/9754072.html   网上关于卷积神经网络的相关知识以及数不胜数,所以本文在学习了前人的博客和知乎,在别人博客的基础上整理的知识点,便于自己理解,以后复习也可以常看看,但是如果侵犯到哪位大神的权利,请联系小编,谢谢。好了下面言归正传:  在深度学习领域中,已经经过验证的成熟算法,目前主要有深度卷积网络(DNN)和递归网络(RNN),在图像识别,视频识别,语音识别领域取得了巨大的成功,正是由于这些成功,能促成了当前深

2020-07-31 11:41:18 7262

原创 string相关库函数

char *strcat(char *dest, const char *src)功能把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。参数:dest – 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。src – 指向要追加的字符串,该字符串不会覆盖目标字符串。返回值:该函数返回一个指向最终的目标字符串 dest 的指针。实例:#include <stdio.h>#include <string.h>int main (

2020-07-30 13:25:46 391

转载 栈与堆的区别(内存分配与数据结构)

参考自https://blog.csdn.net/K346K346/article/details/80849966/堆(Heap)与栈(Stack)包含两层含义:程序内存布局场景下的内存管理方式数据结构中的两种常见的数据结构1. 程序内存分配中的堆与栈1.1 栈介绍栈由操作系统自动分配释放 ,用于存放函数的参数值、局部变量等,其操作方式类似于数据结构中的栈。参考如下代码:int main(){ int b; //栈 char s[] = "abc"; //栈 char *

2020-07-27 23:10:12 1192

原创 linux内核相关知识

参考https://www.cnblogs.com/xdyixia/p/9248240.htmllinux内核启动过程一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。根文件系统是 Linux

2020-07-27 17:12:49 112

转载 C++ new和malloc的区别

这里先对new和delete简单进行一下总结,然后再细说new和malloc的区别。一、new和deleteC语言提供了malloc和free两个系统函数,完成对堆内存的申请和释放。而C++则提供了两个关键字new和delete;1.1 规则new/delete是关键字,效率高于malloc和free。配对使用,避免内存泄漏和多重释放。避免交叉使用,比如malloc申请空间delete释放,new出的空间被free。new/delete 主要是用在类对象的申请和释放。申请的时候会调用构造器完

2020-07-24 23:05:00 114

转载 SPI、I2C、UART 三种串行总线对比介绍

1

2020-07-23 11:47:22 5075

原创 socket入门

socket 简介Socket即套接字,就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口。socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现,服务器和客户端各自维护一个"文件",在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭

2020-07-23 00:27:26 152

原创 三次握手与四次挥手

三次握手三次握手是指在建立TCP连接时,需要客户端和服务器总共进行三次信息确认。第一次握手:建立连接。client发送连接请求报文段,将同步位SYN位置为1,Sequence Number为x;然后,client端进入SYN_SEND状态,等待server端的确认;第二次握手:server端收到client端的SYN报文段,需要对这个SYN报文段进行确认,若同意连接,将ACK位置为1,Acknowledgment Number为x+1(Sequence Number+1);同时,自己自己还要发送SYN

2020-07-22 00:10:04 79

原创 TCP与UDP特点与区别

TCP UDP 介绍TCP(Transmission Control Protocol,传输控制协议):是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDP(User Datagram Protocol,用户数据报协议):,是 OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。TCP编程步骤:TCP服务器端一般步骤是:  1、创建一个socket,用函数socket();  2、设置s

2020-07-19 15:47:01 823

空空如也

空空如也

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

TA关注的人

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