自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 作业、进程、线程、管程

作业:用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。它包括用户程序、所需要的数据和控制命令等。作业是由一系列有序的步骤组成的。进程:一个程序在一个数据集合上的一次运行过程。所以一个程序在不同数据集上运行,乃至一个程序在一个数据集合上的多次运行都是不同的进程。线程:线程是进程的一个实体,是被系统独立调度和执行的基本单位。管程:管程实际上是定义了一个数据结构和在该数据结构上的能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。...

2020-10-09 08:46:24 253

原创 C语言试题

What is the output of the following program?#include<stdio.h>main(){ char *s = "Hello, " "World!"; printf("%s", s);}Output:Hello, World!这里的两个"符号之间的内容被忽略掉了#include<stdio.h>main(){ char s[20] = "Hello\0Hi"; printf(

2020-10-08 22:44:07 4415 1

原创 C语言中‘*‘和‘&‘

在C语言中,每个变量都是一个内存位置,并且每个内存位置都定义了其地址,可以使用&运算符(&)进行访问,该地址表示内存中的地址。A指针是一个变量,其值是另一个变量的地址,即存储位置的直接地址。像任何变量或常量一样,你必须在使用指针存储任何变量地址之前声明一个指针。int *ip; /* pointer to an integer */double *dp; /* pointer to a double */float *fp; /* pointer to a float */

2020-10-08 14:00:20 1050

原创 Shell命令学习

What is Shell?Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和 QQ、Firefox 等其它软件没有什么区别。然而 Shell 也有着它的特殊性,就是开机立马启动,并呈现在用户面前;用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用 Linux。Shell 是如何连接用户和内

2020-10-07 22:26:53 1166

原创 C语言--静态局部变量

静态局部变量定义时前面加static关键字。总结:1、静态局部变量和普通局部变量不同。静态局部变量也是定义在函数内部的,静态局部变量定义时前面要加static关键字来标识,静态局部变量所在的函数在多调用多次时,只有第一次才经历变量定义和初始化,以后多次在调用时不再定义和初始化,而是维持之前上一次调用时执行后这个变量的值。本次接着来使用。2、静态局部变量在第一次函数被调用时创造并初始化,但在函数退出时它不死亡,而是保持其值等待函数下一次被调用。下次调用时不再重新创造和初始化该变量,而是直接用上一次留下的

2020-10-05 09:14:29 2969 1

原创 C语言--C语言与bool类型

C语言中原生类型没有bool,C++中有。在C语言中如果需要使用bool类型,可以用int来代替。很多代码体系中,用以下宏定义来定义真和假#define TRUE 1#define FALSE 0

2020-10-04 22:21:11 585

原创 C语言--空类型(关键字void)

C语言中的void类型,代表任意类型,而不是空的意思。任意类型的意思不是说想变成谁就变成谁,而是说它的类型是未知的,是还没指定的。void * 是void类型的指针。void类型的指针的含义是:这是一个指针变量,该指针指向一个void类型的数。void类型的数就是说这个数有可能是int,也有可能是float,也有可能是个结构体,哪种类型都有可能,只是我当前不知道。void型指针的作用就是,程序不知道那个变量的类型,但是程序员自己心里知道。程序员如何知道?当时给这个变量赋值的时候是什么类型,现在取

2020-10-04 22:19:27 6198

转载 嵌入式C语言面试题库

嵌入式开发—C语言面试题用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长

2020-10-03 23:13:13 15572 1

原创 Git入门学习--(一)

Git简介Git是目前世界上最先进的分布式版本控制系统(没有之一)。集中式vs分布式先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中 央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联 网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。那分布式版本控制系统与集中式版本控制系统有何不同呢

2020-10-02 23:03:30 90

原创 网络安全协议(三)--基本安全协议

安全协议是建立在密码体制基础上的一种通信协议,计算机网络或分布式系统中的参与者通过安全协议的消息步,借助于密码算法来达到密钥分配、身份认证、信息保密以及安全地完成电子交易等目的。安全协议的目的安全协议是一种通信协议,它的主要目的是利用密码技术实现网络通信中的密钥分发和身份认证。安全协议是网络通信安全系统的基础,是实现计算机网络安全的关键。安全协议的目标分为认证性、非否认性、可追究性、公平性四种,其中,认证性应用最为广泛和重要。安全协议的分类根据参与者以及密码算法的使用情况进行分类,可以分为七类:

2020-10-02 17:36:39 7428 2

原创 网络安全协议(二)--密码学基础

安全协议与密码学的关系安全性——数据安全性、通信安全性、信息安全性等——就像一条链子,整个系统的安全性由最脆弱的连接的安全性所决定。因此链子上每一处都必须安全,才能保证整个链子的安全:加密算法、协议、密钥管理、使用规范等,任何一环出了问题,都会危及整个链子。除了提供对消息的保护外,密码学在网络安全中通常还有其它的作用:认证:消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。完整性:消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。抗抵赖:发送者事后不可

2020-10-02 16:45:36 1540

原创 网络安全协议(一)

网络是由两台以上计算机连在一起组成的“计算机群”,再加上相应“通信设备”组成的综合系统。网络带来的好处主要体现在资源共享、信息交换与及时传递两个方面。网络的分类A.一种分类法:信息(message):文字、数值、图形、声音、图像等发送设备:又称“主机”(host)——各种信息处理设备(计算机等)接收设备:同上通信设备:负责主机间的通信控制和通信处理传输媒介:各种电缆、光缆、无线电波等通信协议:通信规则(无协议的两台设备可以连接但无法通信,如同讲不同语言的两人无法对讲)B.另一种分类法:

2020-10-02 16:02:12 3696

原创 Matplotlib绘图库基本操作

Matplotlib是一种2D的绘图库它可以支持硬拷贝和跨系统的交互,它可以在Python脚本、IPython的交互环境下、Web应用程序中使用。该项目是由John Hunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口。如果结合使用一种GUI工具包(如IPython),Matplotlib还具有诸如缩放和平移等交互功能。它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的食量(vector)和光栅(raster)图:PDF、SVG、JPG、PNG、

2020-10-01 21:44:27 206

原创 第一个TensorFlow程序

MNIST数据集MNIST数据集是一个大型的手写体数字数据库,通常用于训练各种图像处理系统,也被广泛用于机器学习领域的训练和测试。MNIST数据库中的图像集是NIST(National Institute of Standards and Technology)的两个数据库的组合:专用数据库1和特殊数据库3。数据集是有250人手写数字组成,50%是高中学生,50%是美国人口普查局。MNIST数据集分为60,000张的训练数据集合10,000张的测试数据集,每张图像的大小为28x28(像素);每张图像都为

2020-10-01 21:01:04 214

原创 Python---NumPy

NumPy简介NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。NumPy 是一个运行速度非

2020-10-01 11:03:52 1846

原创 Shell输入\输出重定向

输入\输出重定向的理解UNIX系统通常会从终端中接受输出,并将所产生的输出发送到终端中。一个命令通常从一个叫做标准输入的地方读取输入,这里默认情况下是你的输入;一个命令通常将输入写到标准输出,这里默认也是你的终端。 命令 说明command > file 将输出重定向到 file。command < file 将输入重定向到 file。command >> file 将输出以追加的方式重定向到 file。n > file 将文件描述符为 n 的文件重定

2020-09-29 23:51:52 739

原创 Linux bash命令入门

bash简介基础操作缩写规则就是:删掉元音字幕(A E I O U),保留前 2 到 3 个辅音字母命令 全部写法 缩写创建目录 make directory mkdir删除 remove rm移动/重命名 move mv复制 copy cp罗列 list ls改变目录 change directory cdcd ~/Desktop 进入桌面mkdir demo-1 创建目录,这时你可以切到桌面,看到 demo-1

2020-09-29 22:51:48 1050

原创 Linux下C语言嵌入式笔记(九)--面试解析

C语言1、编写统计一个数二进制表示中有多少个1的函数int count_bit1(int m){int count = 0;while(m){m = m & (m-1);//表示将m表示的二进制数的最后一个为1的置0,1111需要四次才能变为0000count++;}return count;}2、编写一个函数判断一个数是否是2的N次方int is_number(int num){if( m & (m - 1) == 0)// 0100 & 0011|

2020-09-27 22:49:35 2335

原创 Linux下C语言嵌入式笔记(八)--面试解析

ARM部分1、FIQ比IRQ快的原因:A、FIQ模式的R8–R14寄存器是独有的,FIQ处理程序可以不必执行保存和恢复中断现场的指令。B、FIQ可以将ISR直接放在FIQ后面的地址空间,不需要跳转。2、中断与异常有何区别异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。所谓异常是指软件

2020-09-27 20:26:27 268

原创 Linux下C语言嵌入式笔记(二)

数据类型1、基本数据类型数据类型是创建变量的模型。变量名是连续存储空间的别名,程序中使用变量命名存储空间,通过变量可以使用存储空间。变量所占的内存大小取决于创建变量的数据类型。2、有符号和无符号有符号数中数据类型的最高位用于标识数据的符号,最高位为1表示为负数,最高位为0表示为正数。计算机中有符号数通常使用补码表示,正数的补码为正数本身,负数的补码为负数的绝对值的各位取反后加1。计算机中无符号数通常使用原码表示,无符号数默认为正数,没有符号位。对于无符号数来说,MAX_VALUE + 1等于MI

2020-09-27 17:11:55 253

原创 Linux下C语言嵌入式笔记(七)

单链表简介1、单链表的结构单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以节点来表示的,每个节点由两部分构成:一个是数据域,存储数据值,另一个是指针域,存储指向下一个节点的指针。2、单链表的节点单链表节点的数据结构如下:typedef struct data{unsigned int id;//学生身份IDchar name[LENGTH];//学生姓名char subject[LENGTH];//科目unsigned int score

2020-09-27 17:01:10 96

原创 Linux下C语言嵌入式笔记(六)

存储类型C语言中,每个变量和函数都有两个属性:数据类型和数据的存储类型。变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。计算机中有三个地方可以用于存储变量:普通内存,运行时堆和栈,硬件寄存器。变量的存储类型取决于声明变量的位置。C语言存储类别说明符:1、静态变量在代码块之外声明的变量存储于静态内存中,不属于堆和栈的内存,这类变量称为静态(static)变量。静态变量在程序运行之前创建,是在将可执行文件加载到内存的时候创建,其在程序的整个执行期

2020-09-27 15:02:24 381

原创 Linux下C语言嵌入式笔记(五)

内存字节对齐计算机中内存空间都是按照字节划分的,从理论上讲对任何类型的变量的访问可以从任何地址开始,但是在程序实际编译过程中,编译器会对数据类型在编译过程中进行优化对齐,编译器会将各种类型数据按照一定的规则在空间上排列,而不是顺序的排放,这就是内存字节对齐。内存字节对齐原因不同硬件平台对存储空间的处理是不同的。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如某些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐。其他平台可能没有这种情况,但是最常

2020-09-26 23:15:57 177

原创 Linux下C语言嵌入式笔记(四)

字符串声明声明字符串的方式有三种:字面量、字符数组、字符指针。字符串字面量是用双引号引起来的字符序列,常用来进行初始化,位于字符串字面量池中,字符字面量是用单引号引起来的字符。字符串字面量池是程序分配的一块内存区域,用来保存组成字符串的字符序列。多次用到一个字符串字面量时,字符串字面量池中通常只保存一份副本,一般来说字符串字面量分配在只读内存中,是不可变的,但是当把编译器有关字面量池的选项关闭时,字符串字面量可能生成多个副本,每个副本拥有自己的地址。GCC编译器中字符串字面量是可以改变的,为了将字符

2020-09-26 20:58:06 80

原创 Linux下C语言嵌入式笔记(三)

数组的解读数组的定义:int a[10] = {0,1,2,3,4,5};a[0]:数组的第一个元素,首元素(做左值时表示第0个元素的内存空间)&a:数组的地址,是常量,不能做左值,类型等同int (*)[10](数组指针)。&a[0]:数组第0个元素的地址,与数组名a等价a:a是数组名,不能做左值,做右值时表示数组首元素的地址,与&a[0]相同。数组的地址与数组首元素的地址不是一个概念。数组名可以看作const指针,但数组名作为sizeof操作符的参数和&运算

2020-09-26 20:09:57 136

原创 Linux下C语言嵌入式笔记(二)

一个由C/C++编译的程序占用的内存分为以下几个部分:栈区(stack)— 由编译器自动分配释放 ,存放函数的参数名,局部变量的名等。其操作方式类似于数据结构中的栈。堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。静态区(static)—全局变量和局部静态变量的存储是放在一块的。程序结束后由系统释放。文字常量区—常量字符串就是放在这里的,程序结束后由系统释放 。程序代码区— 存放函数体的二进制代码。堆和栈的

2020-09-26 18:22:23 102

原创 Linux下C语言嵌入式笔记(一)

*基本位操作符:与、或、异或、非(取反)、左移、右移位运算只能对整数;左移运算符<<的移动位数>=类型长度的时候,在GCC环境下编译会有警告,实际移动位数为:左移位数%8。如int i = 1; i = i << 33; ===>i = 2 //i 左移33位,超过类型长度,则移动 33%8 = 1位左移时总是移位和补零(逻辑左移),右移时无符号数是移位和补零,有符号数大多数是移位和补最左边的位;未运算符的运算优先级较低;位操作符的使用:位与运算&amp

2020-09-26 15:00:50 273

原创 爬取廖雪峰网站内容到pdf文件

首先安装wkhtmltopdf软件到python工作目录,以下有已经安装好的,可以直接解压到工作目录进行使用链接:https://pan.baidu.com/s/1zKHw5S4sNehnPAgeNwwK9g 提取码:ax45下面是python代码,代码是在某乎一位大佬的基础上进行改进的(之前的用不了了):# coding=utf-8import osimport reimport timeimport urllibimport pdfkitfrom bs4 import Beauti

2020-09-21 21:01:49 615 3

转载 Deep Active Learning(深度主动学习)

Deep Active Learning最上方为监督学习,对面为非监督学习,之间包括增强学习、半监督学习、在线学习、主动学习。Supervised Learing将未标记的数据交给Work进行标记,然后将标记数据交给Learner进行训练。Semi-Supervised Learning在监督学习的基础上加了一条线,也就是把大量的未标记数据和少量的标记数据交给Learner进行训练,这样可以减少人工标记的时间。Active Learning通过Learne...

2020-09-20 16:53:23 497

原创 数据集类别不平衡问题

类别不平衡问题:类别不平衡问题指分类任务中不同类别的训练样本数目差别很大的情况。一般来说,不平衡样本会导致训练模型侧重样本数目较多的类别,而“轻视”样本数目较少类别,这样模型在测试数据上的泛化能力就会受到影响。一个例子,训练集中有99个正例样本,1个负例样本。在不考虑样本不平衡的很多情况下,学习算法会使分类器放弃负例预测,因为把所有样本都分为正便可获得高达99%的训练分类准确率。数据集方面进行处理:欠采样:去处一些分类中多余的样本,使达到正负样本平衡;过采样:增加一些样本数少的分类中的样本,从而达

2020-09-15 20:12:32 5163

转载 机器学习数据集

(Stanford)69G大规模无人机(校园)图像数据集【Stanford】http://cvgl.stanford.edu/projects/uav_data/人脸素描数据集【CUHK】http://mmlab.ie.cuhk.edu.hk/archive/facesketch.html自然语言推理(文本蕴含标记)数据集【NYU】https://www.nyu.edu/projects/bowman/multinli/Berkeley图像分割数据集BSDS500【Berkeley】https

2020-09-14 22:46:17 267 1

原创 Homebrew安装慢解决

在https://raw.githubusercontent.com/Homebrew/install/master/install.sh网页下载安装文件代码。将其保存到本地文件,命名为install.sh。出现“zsh: ./install.sh: bad interpreter: /bin/bash: no such file or directory”错误:vim 文件名加入一行set ff=unix按下esc,输入:wq,即可退出。替换镜像源:BREW_REPO="https://g

2020-09-14 21:49:39 1036

空空如也

空空如也

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

TA关注的人

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