vegaprime自带例子学习笔记(1)
2006-03-17 16:58
417 查看
一个简单的vp例子
#include <vsgu.h>
#include <vp.h>
#include <vpApp.h>
#include "vuAllocTracer.h"
vuAllocTracer tracer(true, true);
int main(int argc, char *argv[])
{
// initialize vega prime
vp::initialize(argc, argv);
// initialize addition modules here
//vpModule::initializeModule(modulename);
// create a vpApp instance
vpApp *app = new vpApp;
// load acf file
if (argc <= 1)
app->define("vp_simple.acf");
else
app->define(argv[1]);
// configure my app
app->configure();
// runtime loop
app->run();
// unref my app instance
app->unref();
// shutdown vega prime
vp::shutdown();
return 0;
}
下面主要是说说关于vuAllocTracer类。
vegaprime主要是基于VSG开发。VSG全称vega scene graph,是一套完整的api接口。VSG由三部分组成,分别是VSGU,VSGR和VSGS。其中VSGU主要是负责内存和文件的操作。VSGU还自带了一套多线程控制机制,如多线程之间临界区操作,以避免死锁的发生。当然,如果你喜欢使用C++/ISO的文件操作,喜欢使用自己的临界区代码及文件操作也是可以的。但通过对VSGU的例子的阅读,发现它带的类库还是比C++/CLI的好用的多的。
之所以说了这么多,就是因为vuAllocTracer就是来自于VSGU。这个类的主要功能是为了检查内存泄漏。从vuAllocTracer的代码中可以看到其实现原理主要是在vuAllocTracer实例的构造函数和析构函数中获取分配的内存值,然后做差,以实现检测内存是否泄漏的目的。在vuAllocTracer析构函数中通过向屏幕输出,以报告用户的代码中是否产生内存泄漏。如果是基于MFC进行开发,可以继承该类,然后重载析构函数,使其不在控制台输出文本即可。
写的不多,亦不深入,只是小菜的学习笔记。欢迎大家交流。
#include <vsgu.h>
#include <vp.h>
#include <vpApp.h>
#include "vuAllocTracer.h"
vuAllocTracer tracer(true, true);
int main(int argc, char *argv[])
{
// initialize vega prime
vp::initialize(argc, argv);
// initialize addition modules here
//vpModule::initializeModule(modulename);
// create a vpApp instance
vpApp *app = new vpApp;
// load acf file
if (argc <= 1)
app->define("vp_simple.acf");
else
app->define(argv[1]);
// configure my app
app->configure();
// runtime loop
app->run();
// unref my app instance
app->unref();
// shutdown vega prime
vp::shutdown();
return 0;
}
下面主要是说说关于vuAllocTracer类。
vegaprime主要是基于VSG开发。VSG全称vega scene graph,是一套完整的api接口。VSG由三部分组成,分别是VSGU,VSGR和VSGS。其中VSGU主要是负责内存和文件的操作。VSGU还自带了一套多线程控制机制,如多线程之间临界区操作,以避免死锁的发生。当然,如果你喜欢使用C++/ISO的文件操作,喜欢使用自己的临界区代码及文件操作也是可以的。但通过对VSGU的例子的阅读,发现它带的类库还是比C++/CLI的好用的多的。
之所以说了这么多,就是因为vuAllocTracer就是来自于VSGU。这个类的主要功能是为了检查内存泄漏。从vuAllocTracer的代码中可以看到其实现原理主要是在vuAllocTracer实例的构造函数和析构函数中获取分配的内存值,然后做差,以实现检测内存是否泄漏的目的。在vuAllocTracer析构函数中通过向屏幕输出,以报告用户的代码中是否产生内存泄漏。如果是基于MFC进行开发,可以继承该类,然后重载析构函数,使其不在控制台输出文本即可。
写的不多,亦不深入,只是小菜的学习笔记。欢迎大家交流。
相关文章推荐
- 图像分割学习笔记_1(opencv自带meanshift分割例子)
- 【深度学习】笔记2_caffe自带的第一个例子,Mnist手写数字识别代码,过程,网络详解
- 图像分割学习笔记_1(opencv自带meanshift分割例子)
- 【深度学习】笔记3_caffe自带的第一个例子,Mnist手写数字识别所使用的LeNet网络模型的详细解释
- caffe学习笔记9:运行caffe自带的两个例子
- Java异常(Exception)小例子&知识点【Java学习笔记】
- JavaScript学习笔记8--一个文字自动匹配的例子
- jquery学习笔记|jquery ajax小例子
- Spring 学习笔记(1)—— 通过一个小例子体会 IoC 的概念
- HTTP学习笔记4-请求与响应结构例子
- C++/GDI+ 学习笔记(二)——几个例子
- 【Android平台】 Alljoyn学习笔记二 编译自带的demo的步骤
- Python基础教程 第10章: 自带电池(模块) 学习笔记
- Quartz2.2.1 学习笔记(一)简单例子
- cocos2dx 2.X 飞机大战例子 学习笔记
- 目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用)
- VS2008 VC++ 自带例子导入学习
- Emacs自带教程的学习笔记
- 学习笔记:多个静态库连接成一个动态库例子
- muduo例子学习笔记1