- 博客(42)
- 资源 (8)
- 收藏
- 关注
原创 openstack swift object versioning 支持
swift支持对象版本(归档)管理,但是,主要有两种不同的方式去实现:1、PUT这样的header:"X-History-Location:history_container"到current_container。表明history_container是被put数据的current_container的历史库。current_container里面的每个object,可以重复进行put,如果里面已...
2018-03-26 14:55:45 359
原创 openstack swift large object支持
Swift对大对象的支持,其大小限制的设置是在/etc/swift/swift.conf里面进行配置(具体的可配置参数参见:https://github.com/openstack/swift/blob/master/etc/swift.conf-sample#L15)[swift-constraints]max_file_size = 5368709122默认设置(或者不设置)的情况下大小是5G...
2018-02-28 17:12:01 686
原创 解决Openstack swift的UnicodeDecodeError以及account报错
最近在研究openstack的swift,在使用python向swift发送http请求的时候,发现有一个问题,在第一次GET之后,拿到了X-Auth-Token,但是,使用这个token去访问的时候 /var/log/swift/proxy.error里面显示有一个编码错误:Jan 27 17:12:37 server1 proxy-server: STDERR: record.message ...
2018-01-28 19:41:55 1374
转载 XmlSerializer 对象的Xml序列化和反序列化
原文地址这篇随笔对应的.Net命名空间是System.Xml.Serialization;文中的示例代码需要引用这个命名空间。为什么要做序列化和反序列化?.Net程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化。范围:本文只介绍xml序列化,其实序列化可
2016-08-18 15:02:36 703
转载 内存分配函数 _alloc/malloc/calloc
_alloc原型:void *_alloc(size_t size);本函数与上述的两个函数不同,因为它是在栈上分配了size大小的内存,因此使用此函数分配的内存不用再担心内存释放的情况了。但是使用此函数需要注意的是:在函数内部使用此函数分配的内存随着函数的终结不复存在,因此不能将此函数分配的内存供函数外部使用。malloc原型:void * malloc(size_t siz
2015-01-03 21:35:48 925
转载 Windows下OpenGL轻松加载BMP, GIF, JPEG, PNG, and TIFF图片
原文地址:http://blog.csdn.net/jiese1990/article/details/8474333Windows下轻松加载BMP, GIF, JPEG, PNG, and TIFF图片,并用OpenGL生成纹理[cpp] view plaincopy/* window下OpenGL加载纹理,图片格式BMP, G
2014-12-28 22:10:45 1980
转载 auCDtect Task Manager——这不只是个无损检测工具,还能批量生成频谱图,强烈推荐
By 咣輝のま裔http://blog.sina.com.cn/s/blog_637d7cd80101pzx4.html转载请注明作者信息,谢谢。 今天要向大家推荐一个无损检测工具,它是auCDtect Task Manager。其实网络上无损检测工具挺多的,都是基于auCDtect这个命令行工具,比如Audiochecker,Loseless Audio
2014-08-14 01:46:33 9095 1
转载 基于SPH的流体模拟实践和一些技巧总结
SPH的流体模拟是目前大多数游戏所采用的模拟流体方法,特点是简单,十分容易实现,相比与基于Grid的Eulerian方法更加简单和高速,本文主要介绍一下使用SPH的流体模拟中一些常用的技巧和数据结构。目前流体模拟中常用的2类方法,分别代表了从2种不同的方面来解释Navier-Stokes的流体方程: 1、Eulerian方法从空间固定点观察该点的值得变化。
2014-06-28 16:37:31 8162 4
转载 OpenGL保存bmp图片(字节对齐与RGB分量转换)
http://blog.sina.com.cn/s/blog_60707c0f0100q9vf.html现在的OpenGL己经具有GL_BGR_EXT的方式读取像素,默认己经是4字节对齐了,所以下面代码注释掉了处理部分,如果你的OpenGL不支持,GL_BGR_EXT,把注释部分复原即可。[cpp] view plaincopyprint?
2014-05-26 16:10:16 1037
转载 vc++实现avi文件的操作
为了对avi进行读写,微软提供了一套API,总共50个函数,他们的用途主要有两类,一个是avi文件的操作,一类是数据流streams的操作。 1、打开和关闭文件 AVIFileOpen ,AVIFileAddRef, AVIFileRelease 2、从文件中读取文件信息 通过AVIFileInfo可以获取avi文件的一些信息,这个函数返回一个AVIFILE
2014-05-25 17:03:49 3752
转载 MFC中将所画图像保存到图像文件
[cpp] view plaincopyvoid CmyPaintView::OnBmpSave() { CClientDC dc(this); CRect rect; BOOL showMsgTag; //是
2014-05-25 11:43:06 1837
转载 MFC & OpenGL:通过鼠标操作变换视角
首先,创建一个MFC Dialog类,实现OpenGL的绘制,具体见之前的一篇博文《MFC中使用OpenGL》。 之后,使用MFC的鼠标事件函数来实现OpenGL中的视角变换,方法如下: Step-1: 在 ***Dlg.h 中继续加入如下控制视角的变量: double PI; double tFovy;
2014-05-25 01:42:16 2037 1
转载 OpenGL 透明
代码如下:[cpp] view plaincopy#include #pragma comment(lib, "glut32.lib") void Initialization() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); GLfloat light
2014-05-18 16:11:14 793
转载 C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
C++中将string类型转换为int, float, double类型 主要通过以下几种方式:# 方法一: 使用stringstreamstringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型。Demo:[cpp] view plaincopy
2014-04-08 00:10:19 565
原创 OpenGL渲染帧率在debug和release下不同
最近遇到问题,编写的OpenGL代码在debug模式下面,帧率很低,一开始倒是挺快的,但是,随着程序的运行,帧率逐渐下降,然后才趋于稳定网上找了找原因,我试了试改到release这时候帧率就正常了。至于原因,还不是很清楚,感觉是,debug模式下面加入了很多方便调试的东西,使得帧率下降了,release则是没有这些东西,算是快捷版本或者说是优化版本,所以帧率就上升了。在一个国外网站找到了一个说
2014-03-25 22:06:11 2554
原创 glFlush和glutSwapBuffers,导致帧率很低
最近在实现烟雾模拟的时候,看到有一个人的代码运行的时候帧率非常低。一开始,我用了clock去查看他代码各个部分所花的时间,发现,在glutSwapBuffers的时候特别花时间,当时很是不解,以为是数据量过大导致渲染的时候比较耗时间。后来进一步检查代码,发觉问题确实是出现在这里,只不过不是数据量大的原因,而是他的代码中还使用了glFlush。下面说说这两个的作用和区别吧:函数原型:
2014-03-25 18:55:53 4895
转载 glDrawArrays 和 glDrawElements (可以解决帧率过小的问题)
glDrawArrays 和 glDrawElements 的作用都是从一个数据数组中提取数据渲染基本图元。( render primitives from array data ) 注!如果要 glDrawArrays 和 glDrawElements 正确进行绘制的话,必须在之前 调用带有相应参数的 glEnableClientState 方法。 比如:
2014-03-25 18:46:22 3807
转载 PIXELFORMATDESCRIPTOR
像素格式描述表:PIXELFORMATDESCRIPTOR在OpenGL对窗口渲染之前,必须根据渲染需要对窗口进行配置。需要硬件渲染还是软件渲染?渲染使用单缓冲还是双缓冲?是否需要深度缓冲区?是否需要模板、目标Alpha或积累缓冲区?.......当为窗口设置这些参数之后,就无法对它们进行修改。为了从一个只有深度缓冲和颜色缓冲区的窗口切换到一个带
2014-03-17 20:47:53 849
转载 windows 下编译 Boost 1.50 + Visual Studio 2008
1、在c盘创建一个文件夹boost_1_50_02、下载最新的boost 库1.50到d盘,文件夹为boost_1_50_03、整个文件夹如下:D:\>cd boost_1_50_0 D:\boost_1_50_0>dir Volume in drive D is D Volume Serial Number is 7CF4-5846
2014-03-16 18:43:59 683
转载 OpenGL编译错误的解决
如果使用OpenGL的时候出现一下啊错误1>TEE.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用1>TEE.obj : error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithE
2014-03-16 17:08:30 968
原创 call of overloaded 'max(char&, char&)' is ambiguous
最近准备着考试,其中遇到了一个题目,具体程序如下:#include #include using namespace std;#define SAFEDELETE(p) if(p){delete p;p=NULL;}templateT max(T x, T y){ cout<<"This is a template func!"<<endl; return (
2013-12-23 16:37:47 14678 3
转载 glEnable
glEnable用于启用各种功能。功能由参数决定。与glDisable相对应。glDisable是用来关闭的。两个函数参数取值是一至的。参数说明:void glEnable(GLenum cap)GLenum 是unsigned int 类型cap 是一个取值。由值决定启用的功能键。各种功能请看参数cap的取值表代码示例:……
2013-12-21 17:30:32 595
转载 C++中Overload、Overwrite及Override的区别
Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。Override(覆盖):是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名
2013-11-30 20:08:47 603
转载 运算符重载
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。1.一般运算符重载在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简
2013-11-26 18:11:58 539
转载 const用法详解
const用法详解面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; /
2013-11-26 18:09:37 549
转载 如何将二维数组作为函数的参数传递
如何将二维数组作为函数的参数传递 今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间。正文: 首先,我引用了谭浩强先生编著的《C程序设计》上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下
2013-11-26 17:35:55 523
转载 MFC消息循环
MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc。2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数。3.WindowProc() 该函数负责发送消息到OnWndMsg()函
2013-08-12 12:53:58 613
原创 OpenCV和MFC一起用的时候出现内存泄露
在使用MFC和OpenCV结合的时候,会发现即使当你已经把内存释放了,但是,调试的时候还是会提示你检测到内存泄漏。一开始,我苦苦寻找内存泄露的原因,花了很多时间,后来,我在上网一查,原来这并不是一个问题,这不是一个代码本身的bug。首先,我已经使用cvReleaseImage( &pIplImage ); 释放了内存空间,但是,调试的时候,还是会出现内存泄漏的提示:Detected mem
2013-08-03 01:26:27 4573
转载 MFC中CString转换成char数组的问题
由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串。关于它们之间的转换,在VS2008中有时会出现异常情况。在MSDN是这样写的: CString orig("Hello, World!"); // Convert to a char* const size_t
2013-08-01 02:37:48 827
转载 支持向量机-坐标下降(上升)法
9 规则化和不可分情况处理(Regularization and the non-separable case)我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。看下面两张
2013-06-06 21:38:08 3255
转载 匈牙利命名法
变量(还包括宏)的命名规则,比较系统和彻底的有 Windows 编程中用到的匈牙利命名法。匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。有关匈牙利命名法的一点有意思的说明是它的名字的由来
2013-05-17 15:19:26 541
原创 Image Warping
这次的这个小任务花了很长时间,现在回头看看,之前之所以没能在规定的时间内完成,主要原因是我花了很多时间去看了论文之外的相关资料,以下是这次assignment遇到的几个问题:1、Forward Mapping ? Reverse Mapping ?一开始读文章的时候,我对warping还不是太了解。两篇论文都是在讲述如何将坐标算出来,看完论文,我觉得好像是在说Forward Mapping
2013-05-14 22:53:55 5363 3
转载 error C2471: 无法更新程序数据库
今天将FBReader的源代码文件通过新建筛选器,添加现有项目将文件一个个加入到Visual Studio 2008环境中,生成FBReader项目,在生成解决方案时出现很多找不到文件的错误,后来发现文件中使用到了include "常规” --> "附加包含目录“属性没有添加包含目录,最后通过添加了文件的指定包含目录(相对路径),解决了找不到指定文件的错误,但生成解决方案时重新出现了一下错误:
2013-05-11 11:48:49 636
转载 在你的MFC程序中添加这些代码,可以获得控制台的输入
利用AllocConsole() 在你的MFC程序中添加这些代码,可以获得控制台的输入,你试试 AllocConsole(); freopen("CONOUT$","w+t",stdout); freopen("CONIN$","r+t",stdin); cout int iTest = 0;cin >> iTest;fclose(stdout);f
2013-05-11 00:23:34 1184
转载 VC++6.0转换至VS2008问题实例
原文地址:http://blog.sina.com.cn/s/blog_76c8fbf00100rjgy.htmlVC++6.0-->VS2008:1.WINVER not defined. Defaulting to 0x0600 (Windows Vista)#ifndef WINVER // Speci
2013-05-01 19:38:21 802
转载 如何将std::string转int,double? (C/C++) (C) (template)
原文地址:http://www.cnblogs.com/oomusou/archive/2006/10/10/525647.htmlAbstractstd::string为library type,而int、double为built-in type,两者无法利用(int)或(double)的方式互转,本文提出轉換的方式。Introduction使用環境:Visual C++
2013-04-30 10:14:22 1007
原创 MiniDraw的一些小总结
之前接触过MFC,但是,那是很久之前的事了,起码有一年多,而且之前的也是非常皮毛的...这次是狠下心来要好好学学MFC,因为以后要用到....第一次实现的是一个MiniDraw小程序,实现画直线、椭圆、矩形、根据鼠标移动画线、多边形还有撤销上一操作问题一:拖动画直线------绘图模式!其实拖动画直线的原理在于,每次拖动都是画线两次,一次是使用和背景颜色一样的画笔画,即达到
2013-04-28 16:31:54 1359
转载 [C/C++][经典探讨]类继承中,通过基类指针delete释放,是否会造成内存泄漏
原文地址:http://blog.csdn.net/code_godfather/article/details/6648033[序言]很久不写C/C++技术贴了,算一下自己用C++也有7~8年了,虽然现在用Delphi比较多,但是对C++还是有一份热情.前段时间在CSDN看到一个帖子,让我感到非常失落, 很多人都没有引用权威文献来针对这个问题进行讨论,如果没有全文文献的引
2013-04-28 15:02:09 738
转载 MFC绘图(转载)
1 几何对象的结构和类为了使用绘图函数,应该先了解绘图所用到的几种表示几何对象的结构和类。这些结构和类分别定义在头文件windef.h和afxwin.h中。1.点1)点结构POINT点数据结构POINT用来表示一点的x、y坐标:typedef struct tagPOINT { LONG x; LONG y;} POINT
2013-04-26 22:20:50 804
OpenStack Object Storage (Swift) Essentials
2017-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人