自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 keystone介绍

一 keystone简介keystone(openstack identity service)是openstack框架中负责身份验证、服务规则和服务令牌的功能, 它实现了openstack的Identity API。keystone类似一个服务总线,或者说是挣个openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间的相互调

2017-09-27 22:09:16 14550

原创 olso.config的简单使用

一 简介openstack项目越来越多,在Grizzly版本之前,每个项目都要实现一套处理配置文件的代码。每个项目的源码中都可以找到 openstack/common/cfg.py iniparser.py这两个文件。当然,这些不同项目之间的cfg.py等文件很大可能是copy-and-paste分分钟来搞定。这种情况肯定无法被大神忍受,最终,社区决定改变这一切,提出了Oslo项目。Oslo项目的

2017-06-01 15:07:12 1393

原创 编程判断两个链表是否相交

题目:编程判断两个链表是否相交解题思路: 1 直接循环判断第一个链表中节点是否在第二个链表中(时间复杂度为O(size(listOne) * O(size(listTwo)) 2 针对第一个链表构造hash表,判断第二个链表中节点是否在hash表中(时间复杂度为O(size(listOne) + O(size(listTwo),空间复杂度为O(size(listOne)) 3

2015-09-01 12:21:32 678 4

原创 基于C++11 thread 实现线程池

这里基于C++11 thread实现线程池,线程池不可拷贝。1 nocopyable类    不可拷贝基类继承它,派生类不可拷贝,实现如下//nocopyable.h#ifndef NOCOPYABLE_H#define NOCOPYABLE_Hnamespace fivestar{class nocopyable{private: nocopya

2015-08-31 10:39:05 6714 7

原创 C++ MyString类的简单实现

题目:string类的简单实现,本文中此类名为MyString实现思路:1 只要构造函数执行成功(其中pData_不为空)2 构造函数可通过char*,字符串常量构造3 重载运算符=(返回值为MyString),实现拷贝构造函数(深拷贝,返回值为MyString&)4 重载运算符5 实现字符串长度,字符串是否为空函数6 成员变量使用char* pData_保存字符串,使

2015-08-30 22:55:35 7417

原创 int 转 string

题目:int类型数据转换为string解析:将int类型number重复做如下运算:number % 10;number /= 10;将取余所得结果转换为对应的字符加入string中。注意:1 int类型number的正负,如果是负号,要在字符串中添加字符 '-'2 int类型为0时,字符串为“0”,算法结束;算法实现: void Int

2015-08-30 10:45:26 1091

原创 字符串转为int类型

题目:字符串转为int类型解析:题目比较简单,重要的是要思考全面,所以这里不过多赘述注意:1 判断字符串是否为空2 判断正负号3 判断字符串转换是否超出int类型表示范围4 如果转换出错,返回什么(博客中返回0,设置标志位,判断0是正常返回0,还是转换出错返回0)算法实现:enum Status {KVilid = 0,KInVilid};Stat

2015-08-30 10:03:07 7961 1

原创 链表的倒数第k个节点

题目:求链表的倒数第k个节点题目要求:1 输入一个单向链表,输出该链表中倒数第k个结点,2 链表的倒数第0个结点为链表的尾指针(即与倒数第1个节点)3 链表为空或者链表结点数小于k,返回空题目解析:设置两个指针pre,node; 将pre,node都指向链表第一个节点,然后node向前走pre步,这样pre和node之间就相隔k个节点,然后p

2015-08-28 11:43:29 680

原创 虚函数原理解析

虚函数原理虚函数的一般实现模型:每个类有一个虚函数表,内含该类中有作用的虚函数地址。每个 对象有一个vptr(虚函数表指针)指向虚函数表如下Person类class Person{public: virtual ~Person(); virtual string& getName(); virtual string& setName();

2015-08-27 21:06:36 683

原创 C++类型转换

C++类型转换一 隐式类型转换  在C++语言中,某些类型之间有关联。如果两种类型有关联,那么当程序需要其中一种类型类型的运算对象时,可以用另一种关联类型的对象或者值来替代。            Intival = 3.4 + 3;  //编译器提示损失精度   加法的两个运算对象类型不同:3.4为double类型,3位int类型。C++不会将两个不同类型的值直接相加,而

2015-08-26 20:26:48 605

原创 C++内联函数总结

C++内联函数Inline函数,看起来像函数,动作像函数,没有宏的副作用,可以调用它们又没有函数调用的额外开销。多好的内联函数      实际上,获得的比想象的还要多,避免函数调用的额外开销只是它好处的一部分而已。编译器还可以通过最优化机制(被设计用来浓缩那些‘不含函数调用的代码‘的代码),所以当inline某个函数,编译器可能就有能力对它执行语境相关最优化。      但是函

2015-08-26 20:17:08 845

原创 C++11多线程——<future>之std::promise学习

Promise对象可保存T类型的值,该值可被future对象读取(可能在另一个线程中),这是promise提供的同步的一种手段。在构造promise时,promise对象可以与共享状态关联起来,这个共享状态可以存储一个T类型或者一个由std::exception派生出的类的值,并可以通过get_future来获取与promise对象关联的对象,调用该函数之后,两个对象共享相同的共享状态(shared state) Promise对象是异步provider,它可以在某一时刻设置共享状态的值 Future对

2015-04-18 11:57:45 3172

原创 C++11多线程——lock详解

C++11提供了两种管理锁的类std::lock_guard:与mutex RAII相关,方便线程对互斥量上锁std::unique_lock:   与mutex RAII相关,方便线程对互斥量上锁,相比std::lock_guard提供了更好的上锁和解锁控制一 lock_guard详解lock_guard是一个模板类:templateclass lock_guar

2015-04-17 11:37:01 11122 1

原创 C++11多线程——mutex学习

Mutex也称之为互斥量,C++11中与mutex相关的类与函数声明都在头文件中。 一头文件内容简介:Classes1.1 Mutexesmutex                              mutexclass(class)recursive_mutex                 Recursivemutex class(class)ti

2015-04-16 12:22:56 2795

原创 C++11 多线程学习----std::thread类的简单使用

C++11标准库会提供类thread(std::thread)。若要运行一个线程,可以创建一个类thread的实体,其初始参数为一个函数对象,以及该函数对象所需要的参数。通过成员函数std::thread::join()对线程会合的支持,一个线程可以暂停直到其它线程运行完毕。若有底层平台支持,成员函数std::thread::native_handle()将可提供对原生线程对象运行平台特定的操作。对于线程间的同步,标准库将会提供适当的互斥锁(像是std::mutex,std::recursive_mutex

2015-04-15 22:41:38 5742

原创 辨析栈和堆

堆:堆是一个公共空间,分为全局堆和局部堆。全局堆就是......

2015-04-03 17:48:52 627

原创 cuda 寄存器数组使用解析

在基于cuda对一些算法做并行优化时,为了尽可能的提高算法的运行速度,有时我们会想要用寄存器数组使得算法飞一般的快,然而,效果却总是差强人意。用了竟然比没用快,这是为什么呢?

2015-02-01 11:20:35 3346

原创 内存充足时,malloc内存分配失败问题

如题,为什么内存充足时,malloc内存分配失败? 首先,在32位平台下,系统最多可管理4G内存,其中2G系统自用,剩下2G可供用户使用,然而在实际分配时,用户可用空间始终小于2G(若有童鞋在如上条件下分配空间 等于或大于2G可以联系我哦,以让我纠正自己的错误)。64位则可以管理好多,有兴趣的童鞋可以自己算下哦!偷笑 那么,这些跟malloc内存分配失败有什么关系呢有什么关系呢?哈哈,问题就在这里,32位平台下就不多说,相信上面的叙述可以解决童鞋们的问题。在64位平台下,童鞋们是不是发现依旧只能分配2

2015-01-25 15:08:33 5125

原创 C++读取excel表格

C++读取excel文件1 创建mfc程序(这里以vs2013为例)2 添加读取excel文件用到的类3 添加完成后,找到相关头文件,注释/删除4 再次编译还是有错误5 添加源码(最重要的一步)

2014-12-25 11:19:08 23143 14

原创 Win32内存管理

Windows内存管理一 地址空间 1 地址空间范围 一个程序的最大寻址范围。对于Win32操作系统最大的寻址范围为2^32(0 – 0xFFFFFFFF)。此寻址范围由CPU决定。从某种角度来说,CPU的寻址范围越大,编程难度会降低。

2014-12-25 10:33:05 1070

原创 Windows文件系统

文件操作1 windows卷2 windows目录3 windows文件4 windows磁盘文件遍历

2014-12-08 09:33:22 3191

原创 C/C++ (函数、变量和类)动态库的创建、导出和使用

一 Windows库 1引入库的原因: a.项目的复杂程度大 b.提高代码的利益利用率 2库的分类 2.1静态库: *.lib,不能被加载的程序,可以理解为目标程序的归档。 2.2动态库:*.dll,可以被应用程序加载的程序。 二 动态库 1 动态库优点 1.1 可以提供模块化的方式,方便协调开发(对于大项目,每个人写的东西编译为动态库,直接链接即可) 1.2 对源代码保护 1.3 减小可执行文件大小 1.4 提高代码重

2014-12-07 11:34:22 9247

原创 汇编--计算机钢琴实现

计算机钢琴一 钢琴功能  程序运行时,是PC成为一架可弹奏的“钢琴”,当按下数字键1~8,一次发出1,2,3,4,5,6,7,i八个音调。按ctrl+c退出程序。二 实验原理  1 PC机扬声器电路如下图           通过给8253定时器装入不同的计数值,可使其输入不同频率的波形。与门打开后,经过放大器的放大作用,便可驱动扬声器发出不同

2014-12-04 21:18:28 8857

原创 C/C++ static 用法总结

static用法 a.静态局部变量,成为静态局部变量(拥有记忆功能和全局存储权限) b.静态全局变量(限制对应全局变量被被其他文件调用) c.静态函数 d.静态类成员(标识此成员属于类而非属于某个特定对象)

2014-12-04 09:34:28 1005

原创 C/C++静态库创建、导出和使用(图文)

一 Windows库 1 引入库的原因:   a.项目的复杂程度大   b.提高代码的利益利用率  2 库的分类   2.1 静态库: *.lib,不能被加载的程序,可以理解为目标程序的归档。   2.2 动态库:*.dll,可以被应用程序加载的程序。 二 静态库 1 静态库的特

2014-12-03 10:52:34 6018

原创 C/C++函数指针用法总结

C++函数指针一函数指针介绍 函数指针指向某种特定类型,函数的类型由其参数及返回类型共同决定,与函数名无关。举例如下:int add(int nLeft,int nRight);//函数定义 该函数类型为int(int,int),要想声明一个指向该类函数的指针,只需用指针替换函数名即可:

2014-12-02 16:48:05 1108

原创 汇编-排序实验

一、实习目的    掌握用汇编语言编写程序的思路和方法。二、实习内容    从首地址为1000H开始存放10个数,要求设计程序将这些数由小到大排序,排序后的数仍放在原地址处。三、代码data segment count db 10; array db 12,34,56,21,234,54,45,58,96,14; msgOne db 'T

2014-11-21 17:09:50 4879 2

原创 汇编-字符和数据的显示程序

一、实习目的

2014-11-21 17:04:37 2335

原创 汇编-从键盘输入数据并显示的程序

从键盘输入数据并显示的程序

2014-11-21 16:59:11 15221

原创 汇编-两个数相乘的实验

一、实习目的与要求    掌握乘法指令和循环指令的用法。二、实习内容 实现十进制数的乘法,被乘数和乘数均以ASCⅡ码形式放在内存中,乘积在屏幕上显示出来三、代码data segment left db '45','$';定义十进制相乘左操作数 right db '23','$';定义十进制相乘右操作数 Bleft

2014-11-21 16:33:33 7545 1

原创 0-1背包问题---动态规划

一、问题描述

2014-11-06 16:39:03 583

原创 0-1背包问题---回溯法

一、问题描述

2014-11-06 16:10:04 881

原创 0-1背包问题---分支限界法

实验结果问题描述0-1背包问题可描述为:n个物体和一个背包。对物体i,其价值为value,重量为weight,背包的容量为W。如何选取物品装入背包,使背包中所装入的物品总价值最大?算法设计  2.1用到的数据结构class Goods //定义货物数据类型{public:       int weight;

2014-11-06 15:29:16 31960 3

原创 汇编-两个多位十进制数相加

一、实习题目两个多位十进制数相加。二、实习目的和要求      学习数据传送和算术运算指令的用法。熟悉在PC机上建立、汇编、链接、调试和运行8088/8086汇编语言程序的过程。三、实习内容将两个多位十进制数相加,要求被加数、加数均以ASCⅡ码形式各自顺序存放在以DATA1和DATA2为首的五个内存单元中(低位在前),结果送回DATA1处。

2014-11-06 13:01:23 15129 3

原创 汇编-串操作-字符串拷贝

一、实习题目:串操作二、实习目的:掌握串操作程序设计的基本方针三、实习内容:将首地址DATA1按字节存储的数据块通过使用字符串操作将其移动到首地址为                          DATA2的数据块中。四、代码: data segment dataOne db 'It is a temp string',0ah,

2014-11-06 12:50:25 3429

原创 汇编-统计男女生人数

一、实习题目:统计男女生人数二、实习目的:掌握循环设计的基本方法三、实习内容:    统计一个有10人的班中,男、女生的人数各为多少。将男生人数存入变量MAN、女生人数存入变量WOMAN中。    提示:男、女生可用‘1’、‘0’字符作标志表示并从键盘输入标志。对输入的标志进行分类求和即可。四、代码:data segmen

2014-11-06 12:45:39 5531

原创 汇编-小写字母转换为大写字母

一、实习题目:小写字母转换为大写字母二、实习目的: 1、掌握分支程序设计方法 2、了解小写字母和大写字母在计算机中的表示方法并显示。

2014-11-06 12:23:14 2582 1

原创 汇编-ASCⅡ码转二进制码

一、实习题目:ASCⅡ码转二进制码程序实验二、实习目的:掌握码制转换的基本原理及相应的转换程序的编写方法。三、实习内容:将ASCⅡ码数据转换成二进制数据。要求从键盘上输入十进制整数(假定范围0~32767),然后转换成二进制格式存储

2014-11-05 22:00:12 5770

原创 QR分解求矩阵特征值、特征向量 C语言

QR分解求矩阵特征值、特征向量           最近在看一个高光谱图像压缩算法,其中涉及到正交变换,计算正交变换时,需要对普通矩阵求其特征向量。想要在网上找一个现成的程序,可能是我百度的能力不强吧,居然真的没找见。好了废话不多说,下面进入正题。计算特征值整体思路很简单,先使用QR分解求出矩阵特征值,然后利用其特征值求解具体特征值对应的特征向量,进而求出矩阵的特征向量。下面是其C代码实现

2014-08-13 20:08:17 20192 15

CUDA 6.0 Programming Guide

CUDA 6.0 Programming Guide

2014-11-06

空空如也

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

TA关注的人

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