- 博客(75)
- 资源 (2)
- 收藏
- 关注
原创 常见的内存错误及解决方法
常见的内存错误1 内存分配未成功,却使用了它解决方法 在使用内存之前检查指针是否为NULL?如果指针p是函数的参数,那么在函数的入口处用assert(p != NULL)进行检查。如果是用malloc()或new来申请内存,应该用if(p == NULL)或if(p != NULL)进行防错处理。2 内存分配虽然成功,但是尚未初始化就引...
2020-05-03 07:54:23
2040
原创 Caffe——整体结构剖析
1、caffe架构预处理图像的leveldb构建输入:一批图像和label(2和3)输出:leveldb(4)指令里包含如下信息:conver_imageset (构建leveldb的可运行程序)train/ (此目录放处理的jpg或者其他格式的图像)label.txt (图像文件名及其label信息)输出的leveldb文件夹的名字CPU/GPU (指定是在cpu上还是...
2020-02-27 17:00:31
461
7
原创 Caffe——模型解析
深度神经网络是一种模块化的模型,它由一系列作用在数据块之上的内部连接层组合而 成。Caffe 基于自己的模型架构,通过逐层定义(layer-by-layer)的方式定义一个网络(Nets)。 网络从数据输入层到损失层自下而上地定义整个模型。Caffe 使用 blobs 结构来存储、交换和 处理网络中正向和反向迭代时的数据和导数信息:blob 是 Caffe 的标准数组结构,它提供了一个统一的内存接...
2020-02-27 16:45:13
802
原创 Caffe——环境安装和配置(CPU)
Caffe环境安装和配置(CPU)1、介绍Caffe,全称Convolutional Architecture for Fast Feature Embedding,是一个兼具表达性、速度和思维模块化的深度学习框架。由伯克利人工智能研究小组和伯克利视觉和学习中心开发。虽然其内核是用C++编写的,但Caffe有Python和Matlab相关接口。Caffe支持多种类型的深度学习架构,面向图像分类...
2020-02-27 14:32:00
2789
1
原创 shell中base64编码解码的使用
最近在项目研发中需要对敏感数据进行特殊处理,首先想到的就是使用base64对数据进行编码和解码,因此整理如下,供广大技术人员参考。网上关于base64编码解码的工具有很多,但这里说的是一种可以直接在shell中运行的方法。base64在shell中常用的方式如下:1、base64编码(1)base64 file功能:从指定的文件file中读取数据,编码为base64的字符串然后输出;(...
2020-02-20 18:56:45
18751
转载 va_list函数
本篇文章转载自“小雨滴答”的学习笔记,欲看原文请移步函数的参数个数不确定时,就可以使用va_list宏进行动态处理,这无疑为咱们的程序增加了灵活性。va_list的使用方法:1)首先在函数中定义一个具有va_list型的变量,这个变量是指向参数的指针。2)然后用va_start宏初始化变量刚定义的va_list变量,使其指向第一个可变参数的地址。3)然后va_arg返回可变参数,va_a...
2020-02-02 11:12:38
724
原创 python之pip工具的安装及使用
1、pip简介pip是python包管理工具,该工具提供了对python包的查找、下载、卸载的功能。2、pip安装可以通过以下命令判断是否已安装pip工具: pip --version若pip未安装,可使用以下方法进行安装: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py #下载安装脚本 sudo python ...
2020-01-31 12:25:02
1530
原创 根据经纬度坐标计算距离和方向
前段时间由于项目需要,了解了一下不同经纬度坐标间距离的计算和方向的相关问题,本文理论主要参考下面作者提出的方法,需要访问原作者内容,请点击下面的链接:https://www.cnblogs.com/zhoug2020/p/8993750.html此处我采用的也是Haversine formula公式来计算球面上任意两个坐标间的距离。定义的类如下:DistanceBetweenLonAn...
2019-07-21 12:40:42
10102
1
原创 ubuntu和Debian系统上面ftp服务器的搭建和使用
Linux下ftp服务器的名称为vsftpd,本篇主要讲述ftp服务器的搭建和使用。1、确认自己的系统是否已经安装vsftpd,命令为:vsftpd -v比如已安装的如图所示:如果未安装,用如下命令安装一下:sudo apt-get install vsftpd安装完成后,再使用vsftpd -v就会出现上图所示的信息,即代表安装成功。2、建一个专门用于FTP的...
2019-03-14 22:41:18
1277
3
原创 Ubuntu上mysql的安装及使用
不管是哪个版本的Ubuntu,安装mysql数据库基本上都是大同小异。下面介绍一下具体的安装步骤:1、打开终端,并取得root权限2、在终端输入:apt-get install mysql-serverapt-get install mysql-clientapt-get install libmysqlclient-dev安装过程中,必要的地方需要输入“Y”进行确定。上...
2019-02-10 13:54:24
891
原创 ubuntu server 14.04安装手册
一、准备工作 1、下载Ubuntu server 14.04 iso镜像文件,并制作成系统盘;同时将该镜像文件移入系统盘中。 2、通过更改bios,使U盘为第一启动盘。二、安装步骤 1、弹出“Choose language”的“Choose a language”界面,选择“English”,按“Enter”键,如下图所示: 2、出现Ubuntu界面...
2019-01-26 22:13:23
9326
1
原创 使用ssh和scp要注意的几点
1、sshssh是用来登陆到指定端口的远程IP,格式如下:ssh -p 端口值 user@ip注意:端口值即所需要指定的端口号,默认是22,前面的p是小写的;user是远程机的用户名;ip是要登录的IP。2、scpscp主要用来将文件在本机和远程机之间进行互传的;本地上传到远程机的基本格式如下:scp -P 端口号 -r 本地目录路径 user@ip:/dir注意:上面...
2018-09-11 19:33:38
2790
原创 shell编程100例
1、编写hello world脚本#!/bin/bash# 编写hello world脚本echo "Hello World!"2、通过位置变量创建 Linux 系统账户及密码#!/bin/bash# 通过位置变量创建 Linux 系统账户及密码#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数useradd "$1" echo "$2" | ...
2018-09-06 23:59:55
251264
67
原创 shell中使用expect进行远程执行命令
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程。注意: 1、脚本的执行方法与bash shell不一样,比如:expect example.sh 2、向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的;而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lin...
2018-09-05 14:57:59
3045
2
原创 在shell中取文件的某一行的某一列的方法之一
需求:根据配置文件检测板子是否配置成功……#!/bin/bashstandFile="$1"num=`cat $standFile | wc -l`for((i=1;i<=$num;i++))do for rl in $i do # 读取standFile文件的第i行第1列的值,并赋给tmp1 tmp1=$(awk -v hang="${i}" 'NR...
2018-09-05 10:13:40
10436
原创 在MBP上面使用ifconfig所涉及到的端口解析
lo: 环回接口(loop back) 或者 本地主机(localhost)gif: 通用 IP-in-IP隧道(RFC2893)stf: 6to4连接(RFC3056)en: 以太网或802.11接口fw: IP over FireWire(IEEE-1394), macOS特有p2p: Point-to-Point 协议awdl: airdrop peer to peer(一种mesh net...
2018-09-02 11:57:54
301
转载 Memory Layout of Java Virtual Machine
查看Java虚拟机的内存布局原文请点击下面的链接:http://techieme.in/memory-layout-of-java-virtual-machine/
2018-06-14 09:49:35
228
原创 Java内的重写与重载的区别
重载和重写是完全不同的语法现象,区别如下:-->重载:是指在一个类中定义多个方法名相同但参数列表不同的方法,在编译时,根据参数的个数和类型来决定绑定哪个方法。-->重写:是指在子类中定义和父类完全相同的方法,在程序运行时,根据对象的类型(而不是引用类型)而调用不同的方法。分析如下代码的输出结果:class Super { public void f() { Sy...
2018-06-11 09:03:47
256
原创 继承和组合
一、明确组合和继承 组合和继承是面向对象中两种代码复用的方式。组合是指在新类里面创建原有类的对象,重复利用已有类的功能。继承是面向对象的主要特性之一,它允许设计人员根据其它类的实现来定义一个类的实现。 组合和继承都允许在新的类中设置子对象(subobject),只是组合是显式的,而继承则是隐式的。组合和继承存在着对应关系:组合中的整体类和继承中的子类对应,组合中的局部类...
2018-03-27 11:04:02
657
原创 using关键字在C#中的使用方法
using关键字在C#中有两个主要用途:一、作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。二、作为语句,用于定义一个范围,在此范围的末尾将释放对象。具体如下:一、作为指令1、用在命名空间中using + 命名空间名字,这样可以使用命名空间中的类型,而不必指定类型的详细命名空间,类似于Java和Python中的import,这个功能也很常用,几乎每个cs的程序都会使用到。eg: ...
2018-03-03 17:03:33
1225
翻译 The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
观看原文请移至:http://www.gotw.ca/publications/concurrency-ddj.htm免费午餐结束:软件并发的根本转向免费午餐已经超越了软件并发的根本转向你的免费午餐即将结束。你能为这个做什么?关于这个你在做什么?从Intel,AMD到Sparc和PowerPC的主要处理器制造商和架构已经没有空间,大多数传统方法都是为了提升CPU的性能。相反,驱动时
2018-01-09 18:19:04
646
原创 复制广义表
根据广义表的信息和结构,将一个广义表复制到另外的一个广义表中typedef enum{ ATOM,LIST;}ElemTag; //ATOM==0:原子,LIST==1:字表typedef struct GLNODE{ ElemTag tag; //公共部分,用于区分原子节点和表结点 union{ AtomType atom; //at
2017-12-25 09:08:13
1074
原创 二叉树中叶子节点的统计和树高问题
1、已知二叉树以二叉链表进行存储,其中结点的数据域为data,编写算法,统计二叉树中叶子结点值等于x的结点数目。typedef struct BTNode { int data; struct BTNode *lchild ; //左孩子指针 struct BTNode *rchild; // 右孩子指针 } BTNode;//二叉链表的结构int nu
2017-12-17 23:35:58
1823
原创 线性表的顺式存储简单应用
1、已知长度为n的线性表a采用顺序存储结构,编写算法将a中所有的非零元素依次移到线性表a的前端。int n; //线性表的长度typedef struct{ int data[n+1]; //存放顺序元素的数组 int length; //存放顺序表的长度}Sqlist; //顺序表类型的定义void change(Sqlist A,int n){
2017-12-12 00:32:05
740
原创 Stack and Queue
1、栈的定义 栈是一种只能在一端进行插入或删除操作的线性表。其中允许进行插入或删除的一端称为栈顶(TOP),表的另一端称为栈底,栈底是固定不变的。2、栈的特点 先进后出(FILO)3、栈的存储结构 顺序栈和链式栈;栈本质上是线性表4、栈的数学性质 当n个元素以某种顺序进栈,并且可在任意时刻出栈(在满足先进后出的前提下)时,所获得的元素排列的数目N
2017-10-31 16:41:20
865
原创 LinearList
1、线性表的定义 线性表是具有相同特性数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度,用n(n>0)表示。n可以为0,表示该线性表是一个空表。2、线性表的逻辑特性 只有一个表头元素,只有一个表尾元素,表头元素没有前驱,表尾元素没有后继,除表头和表位元素之外,其他元素只有一个直接前驱,也只有一个直接后继。3、结构体定义#define maxSize 1
2017-10-30 06:53:59
1280
原创 如何将图片储存在MySQL数据库中
通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:1、将图片保存的路径存储到数据库;2、将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法: 一、保存图片的上传路径到数据库: string uppath="";//用于保存图片上传路径 //获取上传图片的文件名 string fileFullname = this.FileUpload1
2017-10-30 00:05:36
60899
2
原创 线性表的应用2
假设有n(n>1)个线性表顺序地存放在顺序表S[1,…,m]中,令F[i]和R[i]指示第i个(1试写出实现下列要求的算法。(1)在第i个表中的第j项后面插入1个元素,仅当整个顺序表空间填满时,不允许进行插入操作。(2)删除第i个表中的第j个元素,要求在删除第j个元素后,该表仍为顺序存储的线性表。solution:本题实质是将n个线性表(长度可能不相同)放于一个连续空间(长度为m),为
2017-09-02 00:31:09
402
原创 线性表的应用1
设某机器表示的整数不超过5位十进制数字。试设计一种表示任意长的整数的数据结构,并利用设计的数据结构,写出计算任意给定的两个整数之和的算法。solution:将用户输入的正整数按各位数字存放在一个顺序表中,这样就变成了两个顺序表中的数字相加。实现该功能的程序代码如下:int input(int A[]){ int i; for (i=0; i<MaxLen; ++i) A[i]
2017-09-01 23:06:26
459
原创 合并两个顺序表,并删除重复元素
设A和B是两个顺序表,其元素按非递减的顺序排列。编写一个将A和B中所有元素组成一个新的从小到大的有序顺序表C的算法,要求删除重复的元素,并返回C表的长度。解析:这是一个常规题,参考代码如下:int unions(int A[], int na, int B[], int nb, int C[]){ int i = 0, j = 0, k = 0; while (i<na && j<
2017-08-31 16:35:16
6244
原创 在数组中限制次数的取最大值和最小值问题
设计一个算法:用不多于3n/2的平均比较次数,在数组A[1,…,n]中找出最大值和最小值的元素。算法思想:如果在查找出最大值和最小值的元素时各遍历一遍所有元素,则至少要比较2n次,所以使用一遍遍历找出最大值和最小值的元素。实现此思想的函数如下:void maxmin(int A[],int n){ int i; int max,min; max = A[1]; min
2017-08-28 20:57:57
1345
原创 顺序表
1、顺序表的结构体定义typedef struct{ int data[maxSize]; //存放顺序表元素的数组 int length; //存放顺序表的长度}Sqlist; //顺序表类型的定义2、顺序表的操作(1)按元素值的查找算法在顺序表中查找第一个值为e的元素int findElem(Sqlist L,int e){ int i; for (i=0;
2017-07-13 23:19:34
435
原创 数组元素循环左移
设将n(n>1)个整数存放到一维数组R中,设计一个算法,将R中的序列循环左移P(0分析:要实现R中序列循环左移P个位置,只需先将R中前P个元素逆置,再将剩下的元素逆置,最后将R中所有元素再整体做一次逆置操作即可。算法描述如下所示:#include#define N 50using namespace std;void Reverse(int R[],int l,int r)
2017-07-03 21:26:46
1839
原创 Pascal中repeat的用法
Repeat的使用方法程序中的Repeat循环格式为: repeat 循环体语句; until 条件表达式; {直到条件为真}注意: 1、Repeat循环首先执行由Repeat和Until括起来的循环体语句,然后检查Until后面的条件表达式:如果表达式结果为假,则继续执行循环体,接着继续检查Until后面的条件表达式,如此反复执行直到这个表达式结果为
2017-06-02 22:26:14
1891
原创 同步与异步的认识
1、在计算机领域:同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。2、在平时的讨论中:所谈到的同步问题多发生在多线程环境中的数据共享问题。即当多个线程需要访问同
2017-05-29 09:39:38
317
原创 文件复制
一、 实验目的了解在Windows中,文件系统如何管理保存在磁盘、光盘等存储介质上的信息。并通过文件系统提供的各种API,对文件进行同步和异步读写,深入了解Windows文件系统的功能和作用以及同步I/O和异步I/O的特点。熟悉Linux文件系统提供的有关文件操作的系统调用。文件系统是使用计算机信息系统的重要接口。通过使用文件系统的系统调用命令操作文件,以达到对文件系统实现功能的理解和掌握
2017-05-28 12:48:35
7823
原创 内存监视
一、实验目的熟悉Windows存储器管理中提供的各种机制和实现的请求调页和群集技术。Windows提供给应用程序的内存方式具有统一的简明和保护性的特点。另外,用户不需要知道操作系统如何分配内存,只需要知道应用程序如何分配内存即可。通过实验,了解Windows内存结构和虚拟内存的管理,学习如何在应用程序中管理内存,体会Windows应用程序使用内存的简单性。了解当前系统中内存的使用情况,
2017-05-28 11:29:49
8696
1
原创 生产者消费者问题
一、实验目的1、对于不同系统的平台学会使用调用系统函数,掌握进程创建的方法和步骤。2、理解不同进程之间的通信机制,掌握生产者消费者问题。二、实验内容 生产者消费者问题(需要Windows版本和Linux版本)• 一个大小为3的缓冲区,初始为空• 2个生产者– 随机等待一段时间,往缓冲区添加数据– 若缓冲区已满,等待消费者取走数据后再添加– 重
2017-05-28 11:03:04
7976
3
原创 进程控制
一、实验目的设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。二、实验内容在Windows下实现:• 使用CreateProcess()来创建进程• 使用WaitForSingleObject()在“mytime”命令和新创建的进程之间同步• 调用
2017-05-28 10:42:14
7456
shell_script_100.zip
2020-02-03
汇编实验参考代码
2017-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人