上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页
摘要: 记得C++ 沉思录上说过,如果数据成员有指针类型的,最好把三大函数补全,不然的话容易产生浅拷贝和内存泄露。这里给出一个简单的例子。#include #include #include #include using namespace std;class CDemo{public: CDemo():str(new char[1]) { str[0] = '\0'; cout * a1 = new vector(); a1->push_back(d1); coutfront().c_str()front().c_st... 阅读全文
posted @ 2012-08-28 22:39 KingsLanding 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <stack>#include <queue>using namespace std;template<class DataType>struct BiNode{ DataType data; struct BiNode *left,*right; BiNode():left(NULL),right(NULL){}};template<class DataType>class BiTree{ public: BiTree() { root = Create();} BiTree( 阅读全文
posted @ 2012-08-25 15:33 KingsLanding 阅读(890) 评论(0) 推荐(0) 编辑
摘要: I/O Operations and Activities 使用SR-IOV 的根本原因就是使得虚拟机中的一个驱动可以直接访问PCI进行I/O操作,并能够在虚拟机之间共享设备。Intel VF 驱动了解自己运行在一个虚拟化的环境中拥有优先的PCI资源。 可用的资源包括基本的接收和发送以太网包的能力,Intel VF 还提供了额外的硬件包括: ·状态信息: ·链路速度 ·链路状态 ·复用模式 ·统计数据包括: ·收到的包计数 ·发送的包计数 ·收到的八位组计数 ·发送的八位组计数 ·收到的多播包计 阅读全文
posted @ 2012-08-23 21:33 KingsLanding 阅读(6890) 评论(0) 推荐(0) 编辑
摘要: Physical Function Driver: PF 驱动是一个专门管理SR-IOV设备全局功能驱动,而且还要配置相关共享资源。PF 驱动 随着Hypervisor 的不同而不同,一般需要具有比普通虚拟机更高的权限才能对其进行操作。PF驱动包含了所有传统驱动的功能,使得Hypervisor能够访问设备I/O资源。也可以通过调用PF驱动执行相关操作从而影响整个设备。PF驱动必须在VF驱动之前加载,而且需要等VF驱动卸载之后才能卸载。 Intel SR-IOV 驱动包含了所有 Intel 以太网卡的功能,并且还有下面使用SR-IOV时拥有的特殊功能: ·给每个VF生成一个MAC .. 阅读全文
posted @ 2012-08-23 21:25 KingsLanding 阅读(6001) 评论(0) 推荐(0) 编辑
摘要: SR-IOV Overview:当在主机接口之后使用普通共享设备时,本地共享设备会为每个接口提供单独的内存空间,工作队列,中断和命令处理。这些共享资源也需要被管理,它们会向Hypervisor中可信分区提供一系列用于管理自己的寄存器。当拥有独立的工作队列和命令处理机制后,这些设备就可以同时从多种资源接受命令,并将这些命令智能的融合在一起,在传递给下一级结构之前。虚拟化软件不用再对I/O请求进行复用,这减少了软件的压力。本地共享设备能够通过很多方式实现,可以按照标准实现也可以使用其他专门的实现方式。因为大多数这些设备都是通过PCI 访问的,PCI-SIG 决定定义一种实现标准用语创建和管理本地共 阅读全文
posted @ 2012-08-23 21:13 KingsLanding 阅读(7797) 评论(0) 推荐(0) 编辑
摘要: /* 注意C++ 的内存管理的复杂性 尤其是在merge() 之中,当融合之后如何保证被合并了的链表之后的对象的析构函数会出错,不会被delete两次 还有就是友元函数的模板写法*/#include <iostream>#include <typeinfo>using namespace std;template<class DataType>struct Node{ DataType data; Node<DataType> *next;};template<class DataType>class Linklist;templat 阅读全文
posted @ 2012-08-20 21:06 KingsLanding 阅读(738) 评论(0) 推荐(0) 编辑
摘要: bind() 和 lambda 表达式都可以实现类似的功能,在使用的时候有时候不知道选择哪一个。这里来做一个简单的总结。主要参考了一下的文章:http://stackoverflow.com/questions/1930903/bind-vs-lambdahttp://www.gockelhut.com/c++/articles/lambda_vs_bind1. bind() 在多层嵌套的时候会使代码非常难看懂(参见文章一)2. lambda 不支持“多态性”(其实就是泛型),需要在定义的时候指定参数类型3. lambda 运行速度会比bind() 函数快很多4. lambda 可以通过 .. 阅读全文
posted @ 2012-08-12 17:00 KingsLanding 阅读(2574) 评论(1) 推荐(0) 编辑
摘要: #include <random>#include <iostream>#include <functional> void f(int n1, int n2, int n3, const int& n4, int n5){ std::cout << n1 << ' ' << n2 << ' ' << n3 << ' ' << n4 << ' ' << n5 << &# 阅读全文
posted @ 2012-08-12 10:56 KingsLanding 阅读(1389) 评论(0) 推荐(0) 编辑
摘要: 复习effective C++ ,今天看到了"virtual 函数以外的其它选择",里面介绍了Strategy 模式的两种实现方式,也介绍了std::function 和 std::bind 函数等,结合这段时间学习的进行一个总结。首先还是先来回顾书上的内容:问题引入:一个游戏需要对其中人们生命值,健康状况进行监控计算,因此需要定义一个专门的函数,但是不同的人物的计算方式是不同的,也就是说这个函数需要不同的实现方式。可以使用多态,这是最基本的方法。实例:class GameCharacter {public:virtual int healthValue() const;/ 阅读全文
posted @ 2012-08-12 10:40 KingsLanding 阅读(906) 评论(0) 推荐(0) 编辑
摘要: FC拥有自己的独立层次结构,FC-0到FC-4对应OSI模型的1-5层,但也并非一一对应,完整协议内容请大家自行查阅标准文档。其中FC-2定义了数据通信的内容,是与网络方面息息相关的,下面介绍的内容也都是以FC-2为主。 在FC网络中一共有三种主要的接口角色,NPort,FPort和EPort,其中N是服务器或存储等终端节点连接FC网络的的接口,F是FC交换机设备连接服务器或存储等终端节点的接口,E是FC交换机互联接口。FC设备都拥有2个重要标识:WWN(World Wide Name):64bit,节点和每个接口都有各自固定的WWN且所有的WWN均是唯一的,WWN的作用是为了身份识别和... 阅读全文
posted @ 2012-08-11 09:52 KingsLanding 阅读(5340) 评论(1) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页