自定义博客皮肤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)
  • 收藏
  • 关注

原创 利用背包问题解决的双核处理问题

一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。 输入描述:输入包括两行:第一行为整数n(1 ≤ n ≤ 50)第二行为n个整数length[i](1

2017-09-02 15:52:27 669

原创 结构体类型的动态数组操作

链接:https://www.nowcoder.com/questionTerminal/6fc9a928c7654b0fbc37d16b8bd29ff9来源:牛客网假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得72 + 45/2

2017-09-01 20:00:08 1980

原创 线程、进程通信再总结

下面这个部分摘抄自网上,谢谢贡献的作者。一、进程间的通信方式管道( pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道(namedpipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资

2017-09-01 17:40:36 536

原创 一道递归问题

题目大意是:给定一个字符串A,然后给定多个单词,然后根据给定的单词在字符串中插入空格,求插入空格最少的组合。例如给定字符串ilikeeverything,给定单词i、like、every、thing、likeeverything。输出为i likeeverything。#include #include #include #include #include #include#inc

2017-08-30 16:43:29 473

原创 重载

函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。一、函数重载#include #includeusing namespace std;class Animal{public: void eat(int

2017-08-29 20:24:41 1009

原创 模板

模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。函数模板的一般形式如下:Template 或者也可以用typename T>返回类型函数名(形参表){//函数定义体 }说明: template是一个声明模板的关键字,表示声明一个模板关键字class不能省略,

2017-08-20 19:08:16 345

原创 C++对象内存布局

想要研究对象的内存布局必须要去对应的内存去查看。一、两种查看对象内存的方法一种方法就是采用这篇博客中的方法,这个方法比较直观方便。http://www.cnblogs.com/jerry19880126/p/3616999.html先选择我们写的C++源文件,右键选择属性,在弹出的对话框中选择左侧的C/C++->命令行,然后在其他选项这里写上/d1reportAllClassLayou

2017-07-24 16:53:00 453

原创 虚函数实现说明

C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数,此为多态的表现;#include #includeusing namespace std;class Animal{ public: v

2017-07-23 20:35:16 720

原创 函数调用时发生了什么

第一步:函数调用1、对实参表从右向左,一次计算出实参的值,并且将值压栈。2、将函数调用语句下一条语句的地址保存到在栈中,以便函数调用完成后返回。(压栈)3、跳转到函数体处。第二步:函数体执行4、如果函数体中定义了变量,将变量压栈5、将每一个形参以栈中对应的实参值取代,执行函数体的功能体。6、将函数体中的变量、保存到栈中的实参值,依次从栈中取出,释放栈空间(出栈)。

2017-07-23 17:08:57 1563

原创 static、const总结

参考了网上的资料,表示感谢。在此总结下,方便查找。一、static1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。static可以用作函数和变量的前缀,对于函数来讲,static的作用仅限于

2017-07-23 16:05:52 450

原创 STL初始化、读数据、写数据

容器对于编程来说是非常方便的,但是使用不好会出现奇怪的错误,而且很隐蔽。对于其优缺点在此就不多说。此处只讲解下如何使用。(包括如何初始化,写入数据、读出数据这些基本操作)一、STL简介STL(Standard TemplateLibrary,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠

2017-05-27 22:29:40 1491

原创 字符串、字符处理总结

char *p=”computer”;其最后一个是’\0’,‘c’‘o’‘m’‘p’‘u’‘t’‘e’‘r’‘\0’‘\0’在内存中还是’c’’o’这样存的,并且操作的时候以遇到’\0’认为字符串结束了。可以以下标的形式输出字符串中的字

2017-05-23 19:56:52 2572 3

原创 c++输入输出总结

在学习C++的过程中,经常会遇到输入输出的问题,以下总结一下下面几个函数的用法: 1)、cin 2)、cin.get() 3)、cin.getline() 4)、getline() 5)、gets()6)、getchar()一、cincin是遇到回车停止输入,按照空格输出的。空格、回车等会被丢弃(这些还在缓冲区中,下次若用cin会自动丢弃),下次又会读取

2017-05-21 20:10:09 2363

原创 Windows和ubuntu共享文件夹

在日常工作或学习中我们经常需要在一台电脑上同时使用Windows和Linux(这里以Ubuntu为例)两个系统,我们通常的做法有两种:一种安装双系统另一种更为普遍的是在Windows本机用虚拟机安装Linux系统,然而Windows本机与虚拟机内Linux系统的文件该如何交换呢,其实也有好多方法,如USB接口设备共享、Ftp服务器共享等,这里用一种更为方便办法“共享文件夹”(这个方法在wi

2017-05-21 19:40:01 8554

原创 最短路算法总结

负权图在一个图里每条边都有一个权值(有正有负),如果存在一个环(从某个点出发又回到自己的路径),而且这个环上所有权值之和是负数,那这就是一个负权环,也叫负权回路。存在负权回路的图是不能求两点间最短路的,因为只要在负权回路上不断兜圈子,所得的最短路长度可以任意小。(没有最短路)单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。最短路

2017-04-13 17:31:55 2529

原创 启发式算法总结

粒子群算法基本思想    正如简介所描述的那样,粒子群算法是模拟群体智能所建立起来的一种优化算法,像后面我向大家介绍的蚁群算法也属于这类算法,粒子群算法可以用鸟类在一个空间内随机觅食为例,所有的鸟都不知道食物具体在哪里,但是他们知道大概距离多远,最简单有效的方法就是搜寻目前离食物最近的鸟的周围区域。    所以,粒子群算法就是把鸟看成一个个粒子,并且他们拥有位置和速度这两个属性,然后根

2017-04-11 22:09:43 29676

原创 最小费用最大流

深度优先搜索这个就用到了递归。此路不通就返回到父节点,换另一个子节点。用数组保存下路径即可。 图如果是地图的模型的话,在算出最短路径长度后,我们总要说明“怎么走”才算真正解决了问题。如何在计算过程中记录下来最短路径是怎么走的,并在最后将它输出呢?    我们定义一个path[]数组,path[i]表示源点s到i的最短路程中,结点i之前的结点的编号(父结点),我们在借助结

2017-04-11 20:27:42 1857

原创 段错误总结

最近试着写了华为编程大赛的程序,由于C++下编程还不熟练,出现较多的一个问题是段错误,结合网上资料总结下。http://www.cnblogs.com/lidabo/p/4545625.html段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。段错误产生的原因

2017-04-10 20:13:36 26638

原创 linux线程基础

http://www.cnblogs.com/feisky/archive/2009/11/12/1601824.html线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。可以把线程看成是操作系统分配CPU时间的基本单元。一个进程可以拥有一个至多个线程。它线程在进程内部共享地址空间、打开的文件描述符等资源。同时线程也有其私有的数据信息,包括:线程号、寄存器(程序计数器和堆栈指针)

2017-03-30 15:13:40 621

转载 孤儿进程与僵尸进程

不好意思,忘记在哪转载的了基本概念  我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。  孤儿进程:一个父进程退出,而它的一个或多个

2017-03-02 09:07:22 325

原创 linux进程间通讯

进程间通信:一、管道(pipe)及有名管道(named pipe)管道可用于具有亲缘关系的父子进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。实现机制:管道是由内核管理的一个缓冲区,相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程会向管道中放入信息。管道的另一端连接一个进程的输入,这个进程取出被放入管道的信息。一个缓冲区不需要

2017-03-01 21:36:33 614

原创 linux进程

现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内核态),这个级别可以进行所有操作,而应用程序运行在较低级别(用户态),在这个级别,处理器控制着对硬件的直接访问以及对内存的非授权访问。内核态和用户态有自己的内存映射,即自己的地址空间。正是有了

2017-03-01 21:17:24 572

转载 网络IO之阻塞、非阻塞、同步、异步总结

1、前言  在网络编程中,阻塞、非阻塞、同步、异步经常被提到。unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。网上有详细的分析:http://blog.csdn.net/historyasamirror/article/details/5778378。我结合网上博客和书总结一下,加以区别,加深理解。2、数据

2017-02-25 10:29:36 542

转载 IO多路复用机制

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用

2017-02-25 10:28:48 476

原创 linux编程之文件操作

对文件操作有两种方式:A、系统调用方式,这个是基于具体的操作系统B、调用C库函数方式文件读写主要牵涉到了如下五个操作:打开、关闭、读、写、定位。在Linux系统中,提供了两套API,一套是C标准API:fopen、fclose、fread、fwrite、fseek,另一套则是POSIX定义的系统API:open、close、read、write、seek。所谓系统调用是指操作系

2017-02-19 21:31:25 888

原创 Vim常用命令总结

参考了http://blog.sina.com.cn/s/blog_537ba7eb0100m1kc.html,表示感谢。下面对常用的进行了另一种颜色的标记,方便查找与记忆。Vim配置:    :set number / set nonumber :显示/不显示行号    :set ruler /setnoruler:显示/不显示标尺    :set hlsearch 高亮显示

2017-02-19 11:16:32 381

原创 linux常用命令及基础总结

Linux 内的所有数据都是以档案的形态来呈现的,所以啰,整个 Linux 系统最重要的地方就是目录树架构。所谓的目录树架构(directorytree)就是以根目录为主,然后向下呈现分支状的目录结构的一种档案架构。 所以,整个目录树架构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线『/』, 所有的档案都与目录树有关。 我们现在知道整个 Linux

2017-02-19 11:04:45 861

原创 深入理解计算机技术总结

一、前言计算机脱胎于图灵机的构想,简单来说,就是能够执行有限逻辑数学过程的计算模型。图灵机中最重要的两个『物理』硬件是纸带和读写头(这里的『物理』指的是相对于图灵机其他部分而言)。计算机学科的发展,与其说是众人拾柴火焰高,不如说是天才引导的历程。O(n3) 真的很糟糕,O(1) 真的就很好吗?虽然在单纯的算法分析中是如此,但是在计算机系统中,算法只是一小部分。假设一个 O(1) 的算法会导

2017-02-18 21:06:56 1226

原创 利用28335的epwm产生spwm波的总结

设计的内容是产生倍频的SPWM波,也即是用的是同一个调制波,两个桥臂上的载波相差180度。                                                                                                                           28335有多个epwm模块,每个epwm模块可以产生2个波

2017-01-18 11:24:18 26037 6

原创 安装虚拟机时想到的一些关于IP地址及网络连接方式问题

一、互联网IP地址、路由器IP地址、本地IP目前很多家庭与个人朋友都使用路由器共享上网,但可能会去设置电脑的本地IP地址,通常是192.168.1.*(*为2-254之间的数值),但这仅仅只是路由器内部局域网IP地址,与互联网IP地址无关,本地IP地址是由路由器提供的,所有使用路由器的朋友差不多都是这些地址,通常有朋友遇到IP地址冲突也均是本地IP地址设置重复导致的。很多人就说IP地址不是唯一

2017-01-06 21:05:20 2413

原创 网络设备名词解释及TCP一些定时器

集线器像一个广播电台。一台电脑将帧发送到集线器,集线器会将帧转发到所有其他的端口。每台计算机检查自己的MAC地址是不是符合DST。如果不是,则保持沉默。集线器是比较早期的以太网设备。集线器就是将网线集中到一起的机器,也就是多台主机和设备的连接器。RJ45接口通常用于数据传输,共有八芯做成,最常见的应用为网卡接口。集线器一般有4、8、16、24、32等数量的RJ45接口,通过这些接口,集线器

2017-01-01 21:11:09 1015

原创 HTTP协议总结

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。 1)在HTTP

2017-01-01 20:58:47 511

转载 以太网接口TCP/IP协议介绍

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lee576/archive/2007/11/20/1894267.aspx时间回放到1983年1月1日,在这天,互联网的前身Arpanet中,TCP/IP协议取代了旧的网络核心协议NCP(Network Core Protocol),从而成为今天的互联网的基石。最早的的TCP/IP由Vinton Cerf和R

2016-12-30 16:40:04 6023

原创 TCP/IP协议总结

TCP/IP中有两个重要的协议,传输层的TCP协议和互连网络层的IP协议,因此就拿这两个协议做代表,来命名整个协议族了,在说TCP/IP协议时,是指整个协议族。TCP/IP协议族按照层次由上到下,层层包装。最上面的就是应用层了,应用层协议就很多了,如DNS、TELNET、SMTP、HTTP、FTP等等,它们实际上也是通过调用传输层的TCP协议或UDP协议,为某些特定的通用性很强的应用而设计的。

2016-12-30 10:15:10 828

原创 网络协议宏观总结

对于小白,想了解互联网协议的可以看这篇文章,写的非常易懂。http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html,感谢作者。毕业设计正好也与协议有关,就先来了解下网络协议功能及实现。我有个习惯,学习的时候总喜欢了解一件东西是怎么一步步形成的。对于互联网,一直都很好奇互联网是怎么运行的,一台电脑如何

2016-12-28 22:26:03 485

原创 C语言程序的运行

一、程序的运行类型(下面有详细介绍)在嵌入式系统中,经过编译的C语言程序可以通过操作系统运行,也可以在没有操作系统的情况下运行。程序存放的位置和运行的位置通常是不一样的。一般情况下,经过编译后的程序存储在Flash或者硬盘中,在运行时需要将程序加载到RAM中。嵌入式系统的Nor Flash和硬盘还有一定的差别,在硬盘的程序必须加载到RAM中才可以运行,但是在Nor Flash中的程序可以通

2016-12-28 21:46:54 3364

原创 28335与AD7606后续

1、使用的是FIFO功能,但是增强模式没有开启2、SPI是环形通讯机制,发送数据与接受数据需要同步进行,如果只需接受数据,必须保证有数据发送出去,即使发送的数据无意义。 而开始的时候没有写发送,所以读不出数据3、读出的直流时都是一样的数据,这是因为我只写了一个发送,而接受用的是FIFO,所以每次都读取了一个,读取的8个都是第一通道的4、改正上面的问题后,AD7606有8个采集通道,通过

2016-12-19 20:16:21 5795 1

原创 DSP28335与AD7606通过SPI的串行数据交互

弄了三天的DSP28335与AD7606的通信终于实现了。最终的方案是通过DSP28335控制AD7606的采样,采集的数据通过SPI串口发送给28335,然后28335通过串口发送给上位机显示。其实程序第一天就写好了,但是一直读不出AD7606采集到的数据,所以后两天主要是调试。对于程序员来说,调试是最重要的能力,也还最考验人的耐心的,因为很小的细节出错就可能导致意想不到的结果,而且明明

2016-11-25 17:35:35 19469 15

原创 DSP28335使用FIFO的串口中断总结

一、串行通信与并行通信DSP控制器间,DSP控制器与外部设备间交换信息,通信,可采取的通信方式主要两大类1、串行通信 2、并行通信。并行通信一般包括多条数据线、多条控制线和状态线,传输速度快,传输线路多,硬件开销大,不适合远距离传输。一般用在系统内部,如XINTF接口或者控制器内部如DMA控制器。串行通信则在通信线路上既传输数据信息也传输联络控制信息,硬件开销小,传输成本低,但是传

2016-11-18 22:54:51 26777 9

原创 28335GPIO及外部中断配置介绍

弄了两周终于把28335的启动流程、寄存器及中断向量表的映射方法、内存的划分等有了一个全面的了解,今天看到久违的LED灯的闪烁,顿扫阴霾。特在此总结下28335GPIO及外部中断配置介绍。其实对于一个微控制器,只要能够独立实现这两个功能,也算是入门了。一、GPIO口介绍外界二进制信息(数字量)要被CPU处理,要给存储器存放,就需要外界信息源与两者之间的交换接口,这样的交换接口若用来

2016-11-08 18:43:28 16037 3

空空如也

空空如也

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

TA关注的人

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