自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在win10系统上使用HiTool工具网口烧写Hi3516DV300开发板【踩坑总结:网络环境有限制】

在win10系统上使用HiTool工具网口烧写Hi3516DV300开发板【踩坑总结】环境配置1.确保Hi3516DV300开发板可以正常启动(检查串口、网口等)2.下载安装Hitool工具:http://www.hihope.org/download/download.aspx?mtt=333.安装USB驱动:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖

2021-07-01 16:32:26 3370 1

原创 Linux下的线程池

多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。但如果对多线程应用不当,会增加对单个任务的处理时间。举例说明:假设在一台服务器完成一项任务的时间为TT1 创建线程的时间T2 在线程中执行任务的时间,包括线程间同步所需时间T3 线程销毁的时间显然T = T1+T2+T3。注意这是一个极度简化的假设可以看出T1,T3是多线程...

2019-10-23 17:11:32 191

原创 Linux下的进程间通信(2)

消息队列消息队列是内核地址空间中的内部链表,通过linux内核在各个进程之间传递内容,消息顺序地发送到消息队列中,并且以几种不同的方式,从队列中获取,每个消息队列可以用IPC标识符唯一的进行标识,内核中的消息队列是通过IPC的标识符来区别的,不同的消息队列之间是相互独立的,每个消息队列中的消息又构成一个独立的链表。消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被...

2019-10-18 17:24:19 229

原创 数据库学习笔记

约束限制用户输入的的数据????NULL和NOT NULL限制字段是否可以为空mysql根据null或者not null自动设置默认值查询pass为NULL的记录????DEFAULT字段的默认值约束????auto_increment只能修饰int字段,表明是自动增长列,每次在上一个值的基础上加1????索引用来加快搜索速度给stocks创建symbol列的索引名称为syminde...

2019-10-17 17:40:03 281

原创 Mysql数据库及常用的sql语句

数据库DBMS(数据库管理系统)常用的数据库:SqlServer,Oracle,MySql,Sqlite等MySql是一个高性能、多线程、多用户、建立在客户-服务器结构上的RDBMS,有服务器和客户端组成。事务事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功SQL结构化查询语言,是个开放的标准1.DDL(数据库定义语言)例如:create,drop,al...

2019-10-16 17:42:15 322

原创 Linux下的进程间通信(1)

IPC(进程间通信)Linux下的多个进程间的通信机制叫做IPC,它是多个进程之间进行互相沟通的一种方法。通过进程间通信实现不同进程之间传播和交换信息。进程间通信(IPC)的目的总结1:数据传输2:资源共享3:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件4:进程控制进程间通信的方式在Linux下有多个进程间通信的方法:半双工管道、FIFO(命名管道)、消息队...

2019-10-15 16:27:46 468

原创 Linux下的信号处理

信号程序在执行的时候,几乎任何时刻都会反生事件。信号通常用来向一个进程通知事件。信号是不可提前预知的,所以信号是异步的。信号随时都可能发生,接收信号的进程也可以没有控制权。每个信号名都以SIG开头,信号名的定义在<signal.h>中。信号名一般都是宏,内部通常是一个正整数。信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。...

2019-10-14 17:27:38 239

原创 Linux下的僵尸进程与守护进程

僵尸进程一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个进程完成它的工作终止之后,它的父进程需要调用wait()或者wait...

2019-10-12 15:01:13 237

原创 Linux下的进程的有关知识点

????操作系统是个软件系统,协调计算机硬件进行工作,为上层应用提供支持和用户操作。对编程开发来说,它提供API编程接口(文件操作,socket网络编程等)在计算机中,操作系统的定位是一个管理者,对上管理在系统中运行的进程,对下通过驱动程序管理各种硬件。1、与硬件交互,管理所有的软件和硬件资源2、为应用程序提供一个执行环境常用的操作系统:终端的应用:windows、IOS、Android等服...

2019-10-11 17:58:20 140

原创 Linux下的信号处理

lsof查看某个文件被哪些进程在读写lsof 文件名查看某个进程打开了哪些文件lsof –c 进程名lsof –p 进程号用法小结lsof abc.txt 显示开启文件abc.txt的进程lsof -i :22 知道22端口现在运行什么程序lsof -c nsd 显示nsd进程现在打开的文...

2019-10-10 17:25:26 128

原创 Linux下的文件操作

文件描述符 所有对设备和文件的的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中中每个进程所打开的文件的记录表。当需要读写文件时,需要把文件描述符作为参数传递给相应的函数。 通常,一个进程启动时,都会打开3个文件。 标准输入:对应文件描述符为0(STDIN_FILENO) 标准输出:对应文件描述符为1(STDOUT_FILENO) 标准出错处理:对应的文件...

2019-10-10 16:24:28 263

原创 Linux下的gcc和gdb编译以及strip命令

gcc如果生成调试信息,文件的大小会增大strip命令gdb

2019-09-29 17:40:22 635

原创 Linux下的shell脚本

☺Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程...

2019-09-28 18:24:55 98

原创 Linux下创建新用户及环境配置

1.添加用户,自动添加用户的家目录2.修改密码3.将用户navyblue加入shenlan 组4.查看navyblue是否在shenlan组内5.将/bin/sh改为/bin/bash6.编辑文件sudoers,调整文件权限,赋予navyblue sudo 权限7.查看用户以及各用户之间之间的切换...

2019-09-25 16:44:32 1463

原创 Linux下用vi编写一个简单的c程序

常用的三种模式命令(默认)的模式:控制屏幕光标的移动,字符,字或者行的删除,移动,复制某区域编辑(插入)模式:点击I键,进入编辑模式,用于文本的编辑,在此模式下,用户可以进行输入,查找等基本的文本操作行底(末行)模式:命令或编辑模式下,按esc键模式切换,然后输入":"冒号,进入行底模式将文本保存或退出编辑器,也可以设置编辑环境案例::wqw(write) q(quit)...

2019-09-25 16:06:15 2211

原创 linux下的find与grep命令

find首先设置一个大小为2M的文件if 代表输入文件of 代表输出文件bs 代表字节为单位的块大小count 被复制的块其中 /dev/zero 是一个字符设备,会不断地返回0值字节查找文件大小等于2M查找文件大小小于2M查找文件大小大于2M查找当前目录下大于4k,小于5M的文件查找文件类型为符号链接的文...

2019-09-25 15:41:58 149

原创 硬链接和软连接案例分析

软硬链接的区别软链接:(1)、软链接以路径的方式存在,类似于Windows中的快捷方式。(2)、软链接可以跨文件系统,硬链接不可以。(3)、软链接可以对一个不存在的文件名进行连接(4)、软链接可以对目录进行连接硬链接:(1)、硬链接以文件副本的形式存在,但不占用实际空间(2)、不允许给目录创建硬链接(3)、硬链接只能在同一个文件系统中才能创建例如:硬链接首先stat统计文件...

2019-09-24 15:28:10 356

原创 函数重载,函数重写及隐藏

函数重载(overload) 函数重载是指在一个类中声明多个名称相同但参数列表不同的函数,这些的参数可能个数或 顺序,类型不同,但是不能靠返回类型来判断。特征是:(1)相同的范围(在同一个作用域中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无(注:函数重载与有无 virtual 修饰无关); (5)返回值可以不同;函数重写(也称为覆盖 override) ...

2019-09-17 15:51:31 138

原创 运算符重载

运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为格式:返回类型 operator 运算符(形参表){函数体}运算符重载为成员函数#include<iostream>using namespace std;class Complex{public: Complex(double r = 0.0, double i = 0...

2019-09-04 14:42:57 141 2

原创 公有继承,私有继承和保护继承

公有继承:基类public和protected成员的访问属性在派生类中不变,基类private成员不可访问私有继承:基类中public和protected成员都以public成员身份出现在派生类中,基类中private成员不可访问保护继承:基类中public和protected成员都以protected成员身份出现在派生类中,基类中protected成员不可访问...

2019-09-03 16:55:15 202

原创 动态内存分布的问题

c语言中我们使用malloc和free,malloc直接开辟出一块空间,并不会为对象初始化,返回一个void*类型的指针。c++中我们使用new和delete, new创造对象,先申请内存,然后使用类的构造函数来初始化对象,delete先调用析构函数,然后释放,返回我们所创建对象类型的指针int*point;point=new int(2);delete point;动态分配了用于存...

2019-09-03 16:20:45 111

原创 string类运算符重载

#include<iostream>#include<string.h>using namespace std;class String {private: char*ps;public: String(char*p = " "):ps(new char[strlen(p)+1]) { strcpy(ps, p); } ~String() { ...

2019-08-30 16:16:10 255

原创 c++第五章数据的共享与保护知识点总结

静态函数成员静态成员函数只能直接访问同一个类的静态数据成员,可以保证不会对该类的其余数据成员造成负面影响。同一个类只维护一个静态数据成员的拷贝,节约了系统的开销,提高程序的运行效率。静态成员函数可以直接访问该类的静态数据和函数成员。而访问非静态成员,必须通过对象名。例如:class A{public:static void f(A a);private:int x;};voi...

2019-08-30 15:26:17 509 2

原创 const和static的用法总结

const(1)const修饰一般常量及数组const int a=10; 等价的书写方式: int const a=10;const int arr[3]={1,2,3}; int const arr[3]={1,2,3};对于类似这些基本数据类型,修饰符const可以用在类型说明符前,也可以用在类型说明符后,其结果是一样的。...

2019-08-23 11:47:47 980

原创 构造函数,拷贝构造函数和析构函数

构造函数作用:创建类对象,初始化其值构造函数也是类的一个成员函数,除了具有一般成员函数的特征之外,还有一些特殊的性质:构造函数的函数名与类名相同,而且没有返回值,构造函数通常被声明为公有函数。调用时无须提供参数的构造函数称为默认构造函数。也就是说,如果类中没有写构造函数,编译器会自动生成一个隐含的默认构造参数,该构造函数的参数列表和函数体皆为空。作为类的成员函数,访问类的所有数据成员,可以...

2019-08-21 17:34:57 327

原创 指针易错点总结1

1.int(*t)(int int ) 函数指针 2.int **a[3][4] 在这里a为数组,【a要是和*括起来表示指针】,每个元素为1个指针 所占的内存空间=数组长度 * sizeof(类型标识符)12*sizeof(int**)=48 3.typedef int * T;T a[10]; 等价于int*a[10] ...

2019-08-16 15:59:24 198

原创 C语言总结

C语言学习总结第三章 数据类型、运算符与表达式数据类型:signed 、unsigned字符型:char       8bit=1Byte   -128 – 127、char 0 –255整型unsigned:short     2Byte  &n...

2019-08-10 13:12:04 658

原创 链表的逆序

#include<stdio.h>#include<malloc.h>#include<string.h>typedef struct_STU{int id;char name[32];int age;struct_STU*next;}STU,*PSTU;//结构体,结构体指针变量void inserthead(PSTU*pphead,in...

2019-08-08 16:29:44 63

原创 用结构体进行排序的简单应用

应用结构体时,需先声明再定义。本题描述的是用成绩对三个人进行排序。#include<stdio.h>typedef struct _DATE{int year;int month;int day;}DATE;typedef struct _STU{int id;char name[20];char sex;int age;DATE BDay;floa...

2019-08-01 13:10:08 404 2

原创 函数

1.在一段代码中写函数能提高代码的复用性,并达到功能分解的作用。2.所有的函数都是平行的,几=即在定义函数时是分别进行的,是相互独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义。3.无参函数定义:类型标识符 函数名()有参函数定义:类型标识符 函数名(形式参数表列)每个形参的类型和名称,以“逗号”隔开。4.主调函数:功能或服务的使用方(实参)被调函数:功能或服务的提供方(形参)...

2019-07-31 17:03:09 101

原创 数组知识点总结

数组定义:数组是有序的并且具有相同类型的数据的集合。一维数组

2019-07-30 21:34:16 301

原创 写一个函数,输入一个十六进制数,输出相应的十进制数

思路:套用循环,从十六进制的最后一个字符开始遍历,当i等于字符串长度减1时,把该字符的ASCLL码值直接累加到要输出的十进制数上。如果i不等于字符串长度减1时,用该字符的ASCLL码值乘以16的i次方。...

2019-07-27 16:54:40 1781

原创 函数调用的形式判断输入的年月日是否合法是否为闰年

代码如下:

2019-07-25 17:33:56 418

原创 将一个三维数组原地转置,呈水平镜像与垂直镜像,顺时针旋转90度180度,逆时针旋转90度

2019-07-23 15:58:56 716

原创 循环控制的简单知识点

2019-07-20 16:09:32 232

原创 用for循环输出用星号围成的菱形的两种方法 ✨

**

2019-07-20 15:44:19 3274

原创 把a,b,c,d四个整数从小到大排列的三种方法

把a,b,c,d按从小到大的顺序排列**第一种 :(a > b) { t = a; a = b; b = t; };(a > c) { t = a; a = c; c = t; };(a > d) { t = a; a = d; d = t;}(b > c) { t = b; b = c; c = t; };(b > d) { t = b; b = d; ...

2019-07-18 13:18:35 3213

原创 C语言数据类型,表达式

基本类型:整型                  短整】(short int)2            ...

2019-07-18 11:18:31 262

空空如也

空空如也

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

TA关注的人

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