自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

成长的印记

我的编程感悟

  • 博客(34)
  • 资源 (9)
  • 收藏
  • 关注

原创 DXUT 框架入门 1

 DXUT 框架入门 1CD3DApplication 框架类已经光荣的退役了,取而代之的是DXUT*系列函数。在这篇文章中将要简单介绍DXUT框架的应用。最近的directx 下载地址, 这里面包含了64位操作系统库以及directx10等等,directx10 的程序例子只能运行在windows vista 上面。尽管可以编译,但缺少directx3d10 运行库. 在安装sdk之

2006-10-21 16:40:00 4465

转载 探讨SSE指令

   比较一下3DNow和浮点指令的性能差异,可以看出,3DNow指令集在运算速度上要远远超过浮点指令。那么,SSE性能如何呢,它是否有能力同3DNow一拚高低?我想,很难说那一个更好一些,因为它们都有着很高的性能。不过单从指令集上看,SSE还是要略胜一筹的。毕竟是新增了8个128位的寄存器,而且指令的功能也要强大一些。3DNow使用MMX指令的寄存器,可以借助MMX指令的强大功能,不必设计太多的

2006-09-24 01:04:00 6267

转载 基于SSE指令集的程序设计简介

作者:Alex Farber出处:http://www.codeproject.com/cpp/sseintro.aspSSE技术简介Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就

2006-09-24 01:01:00 2198 1

转载 SSE指令介绍及其C、C++应用

 SSE是英特尔提出的即MMX之后新一代(当然是几年前了)CPU指令集,最早应用在PIII系列CPU上。现在已经得到了Intel PIII、P4、Celeon、Xeon、AMD Athlon、duron等系列CPU的支持。而更新的SSE2指令集仅得到了P4系列CPU的支持,这也是为什么这篇文章是讲SSE而不是SSE2的原因之一。另一个原因就是SSE和SSE2的指令系统是非常相似的,SSE2比SSE

2006-09-24 00:33:00 5802

转载 boost condition

1.简介condition是一个简单的同步对象,用于使一个线程等待一个特定的条件成立(比如资源可用)。一个condition对象总是和一个mutex对象配合使用。mutex在交给condition对象的wait系列函数时,必须已经通过lock对象加上了锁。当线程陷入等待时,condtion对象将释放mutex上的锁,当wait返回时,mutex上的锁会重新加上,这一unlock/lock动作由co

2006-09-24 00:17:00 7222

原创 鼠标HOOK

        对于win32每个进程都有自己独立的4GB空间,这个每个程序相对于其他程序都是独立的,一个程序轻易不能访问其他程序地址,一旦访问了轻则跳出出错提示,重则蓝屏,然而当你离开了当前程序,却想要跟踪一些消息,就困难重重了。幸好windws 给我们提供了钩子(hook)函数。  钩子(hook)一般分为两个等级:全局钩子和局部钩子。全局顾名思义可以挂钩其他程序的消息,而局部则直挂钩使用钩

2006-09-24 00:15:00 4796

转载 boost随机数

一. 概念随机数被用在很多场合, 比如数值计算, 游戏, 加密, 测试.根据场合的不同, 需求的随机数发生器也不尽相同. 可以分为一下三种.non-deterministic random number generator pseudo-random number generator quasi-random number generator [数字发生器{number generator)]一个

2006-09-23 02:30:00 4169

转载 boost pool 内存池

    简介:    Pool分配是一种分配内存方法,用于快速分配同样大小的内存块,    尤其是反复分配/释放同样大小的内存块的情况。    使用:    1. pool    快速分配小块内存,如果pool无法提供小块内存给用户,返回0。    Example:    void func()    {      boost::pool                      ^^^^^^^^

2006-09-23 02:27:00 3337

转载 boost lambda简介

1, 简介  有的时候我们实在是很烦写一个function object了. 为了一个简单的目的,  不得不跳到很远的某一个hpp文件里面去在声明一个function object, ft.  lambda能帮你去除烦恼.  btw: lambda并不仅仅为了方便你"写"程序. 它能在代码优化上发挥一定的作用.2, 使用  套用一下,  for_each(x, x+N, std::cout   很

2006-09-23 02:25:00 2938

转载 boost timer类介绍

1, 简介  很多时候我们写程序都要计算一下时间. 其实就是在一个操作两端记录一下时  间, 然后减一下. 如果我们懒到这个动作都想省掉, 那就用boost::timer吧.2, 使用  有三个可以用的类类progress_timer在离开定义自己的scope之后就会自动销毁, 并且显示经过的时间.#include #include #include #include int main(){   

2006-09-23 02:23:00 3381

转载 boost库xml序列化

今天利用编版本的时间研究了一下boost的序列化,特别是xml序列化的东东,还是有很多收获,记下来怕以后忘记了,人老了,很多东东都记不得了......(一)研究boost库xml序列化要做准备的工作a.下一个最新的boost库记住用1.32版本的,这个版本提供了XML序列化的支持b.windows下用的VC7.0,这个是一定要了,我一直没舍得换我的VC6,结果编译boost的seria

2006-09-23 01:54:00 5217

原创 避免内存碎片

    许多书籍提到过内存碎片,也看到一些方法防治内存碎片。一直以来都以为频繁的分配释放内存会导致系统内存碎片过多(虽然这个想法并没有错到离谱)。后来看过计算机程序设计艺术上面关于伙伴系统的介绍,一般操作系统都采用此种方法来管理内存。频繁分配释放内存确实会导致一些系统负担,但分配的内存释放及时,内存管理系统将能够急时合并相邻空闲内存块,得到更大的空闲内存。这样并不会导致内存碎片的出现。即使相邻空间

2006-09-22 21:50:00 5604

转载 C++ Boost 库文档索引

C++ Boost 库文档索引 1 按字母顺序库列表 2 按主题库列表 2.0 字符串和文本处理( String and text processing) 2.1 容器(Containers) 2.2 迭代器(Iterators)

2006-09-21 23:27:00 3270 1

转载 C++ Boost库简介

boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。     boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数

2006-09-21 21:25:00 12650

转载 boost::any的介绍

动机    许多时候我们需要一个generic type:变量是真正可变的,可以容纳许多其他的特定类型,而不是C++通常的严格的静态类型。我们区分三种基本的generic type种类:        1. 可容纳许多可能值类型的类型,比如int和string,并且可在它们之间自由转换,例如:将5作为"5"或者反之。这样的类型在脚本语言和其他的解释型语言中较常见。boost::lexical_ca

2006-09-16 22:11:00 1313

原创 vc 助手

visual assist vc6 的专家系统很差,2003还马马虎虎,用这个插件可以对第三方库分析,获得动态输入提示,自动识别各种关键字,系统函数,成员变量,自动更正大小写错误,自动标示错误,可以goto到鼠标所在函数等等可以到 www.ttdown.com 下载。numega boundcheck是 针对Visual C++6.0应用程序的最为全面的错误检测工具。BoundsChecker 能

2006-09-15 23:11:00 1913

原创 使用远程线程制作不死进程

远程线程指把当前进程部分代码注入到其他进程做为线程执行,虽然钩子程序能挂钩其他程序的消息,但钩子程序退出,注入的dll也就退出了,而远程线程不会 随着本地进程退出而结束。而且可以处理更多的事情,而不局限于消息。由于98不支持所以只能在nt内核上运行,下面是制作远程线程需要使用的api。获取进程句柄方法之一是使用GetWindowThreadProcessId函数,这个函数可以从一个窗口句柄获得创建

2006-09-15 23:05:00 1902

翻译 Boost Graph Library 快速入门

Boost Graph Library 快速入门   图领域的数据结构和算法在某些方面比容器更为复杂,图算法在图中移动有着众多的路线,而STL使用的抽象迭代器接口不能有效的支持这些。作为替换,我们为图提供了一个的抽象的结构,其与容器迭代器的目的类似(尽

2006-05-24 13:53:00 23334 3

原创 安装Boost

对于vs2003.net,如果只安装boost 相对比较简单,可以跳到步骤2,这里要安装boost 的stlport 版本。即同时安装stlport 和 以stlport 为标准库编译 boost .1、先安装stlport进入stlport/src 目录运行nmake –f vc71.mak install这样默认stlport头文件放入 ..../Microsoft Visual Studi

2006-05-23 04:55:00 4804

原创 vc的hash_map怎么啦

以下比较均基于 release 版本,debug 有调试信息不能作为标准。#include "stdafx.h"#include #include #include #include #include #include using namespace std;#pragma warning(disable : 4996)int _tmain(int argc, _TCHAR* argv[]){  

2006-05-16 12:35:00 4699

原创 string的Copy-On-Write技术

标准C++类std::string的内存共享和Copy-On-Write技术     虽然vc6用了引用计数,但VC2003的字符串并没使用Copy-On-Write的特征.正如楼主例子里面 str1[1]=q,时系统要重新给st1分配了内存。早分配还是晚分配? 假设str2没有使用,对于release版本那都是只分配一次内存。但不考虑引用计数 str1[1]=q操作,早分配速度反倒好过晚

2006-05-14 02:04:00 1198

转载 c++资源之不完全导引 zz

c++资源之不完全导引 (全文)撰文/ 曾毅 陶文最后更新:2004年6月12日声明:.本文2004年5月首发于《CSDN开发高手》,版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节,此处版本为相对完整版本。本文为介绍性文章,会随笔者学习C++语言不断更新。前言无 数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippm

2006-05-12 20:35:00 1592

原创 C++常见面试题

希望这个贴子能给正在找工作的朋友一点帮助.SIZEOF  题目:如果代码里面有 while(*p) 判断字符串结束的,要用 *p!=/0 代替。1)sizeof相关系列问题, const相关系列问题a. 对于 struct s{char a;int b}  sizeof(s) = 8 因为内存对齐 b.  对于 int a[200] sizeof(a) = 200* sizeof(int) =

2006-05-11 23:40:00 7420 1

原创 stl应用小问题

1. 编译器的解析 list data(istream_iterator(cin),istream_iterator());这不是声明一个list变量 data,而是被认为是一格函数声明. 可以使用如下方法(effective stl 有讲)istream_iterator dataBeg(cin);list data(dataBeg,istream_iterator());当然还有  stack

2006-05-09 00:37:00 1357

原创 Fibonacci 单词

Fibonacci单词定义与Fibonacci数的定义类似: FIB(1)=b,FIB(2)=a,FIB(k+2)=FIB(k+1)*FIB(k)(k>=1),*的意思是两个字符串连接,所以FIB3=ab;FIB4=aba;FIB5=abaab; 现在给出一个长度最多为30的模式串,仅含字母a或b. 计算第n个Fib单词中含有多少个这样的模式串.模式串在Fib单词中的位置可以重叠. Input该题

2006-05-01 01:39:00 1043

转载 快速平方根(平方根倒数)算法

日前在书上看到一段使用多项式逼近计算平方根的代码,至今都没搞明白作者是怎样推算出那个公式的。但在尝试解决问题的过程中,学到了不少东西,于是便有了这篇心得,写出来和大家共享。其中有错漏的地方,还请大家多多指教。  的确,正如许多人所说的那样,现在有有FPU,有3DNow,有SIMD,讨论软件算法好像不合时宜。关于sqrt的话题其实早在2003年便已在  GameDev.net上得到了广泛的讨论(

2006-02-24 10:01:00 6077 1

原创 猴子分桃

/*题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?*/void taozi(){    int i,m,j,k,count;    for(i=4;i    {    

2006-02-20 23:10:00 1387

原创 一些不太常用C++语法

慢慢更新:1. placement new 方法如:pi = new (ptr) int; //placement new    括号里的参数是一个指针,它指向一个内存缓冲器,new操作将在这个缓冲器上分配一个对象。Placement new的返回值是这个被构造对象的地址(比如扣号中的传递参数)。placement new主要适用于:在对时间要求非常高的应用程序中,因为这些程序分配的时间是确定的;

2005-08-03 22:37:00 2749 1

原创 轻松求素数

没有作什么溢处判断.比如n 超过int 最大值,数组长度小于 len等.作为素数条件1.素数一定是奇数 :)2.素数只能整除1和他自己3.奇数如果不能整除比他小的素数,则为素数。这个范围可以更小,就是除到比这个数开方小的素数即可如果都不能整除则此数为素数。当然不能在程序里面做开方运算,速度太慢。换作 n 相对乘法比开方除法快//保证array 开辟区间比len大void prime(int* ar

2005-07-23 01:47:00 1186

原创 windows 远程线程介绍

  远程线程指把当前进程部分代码注入到其他进程做为线程执行,虽然钩子程序能挂钩其他程序的消息,但钩子程序退出,注入的dll也就退出了,而远程线程不会随着本地进程退出而结束。而且可以处理更多的事情,而不局限于消息。由于98不支持所以只能在nt内核上运行,下面是制作远程线程需要使用的api。获取进程句柄方法之一是使用GetWindowThreadProcessId函数,这个函数可以从一个窗口句柄获得创

2005-07-17 20:50:00 1606

原创 算一个字(DWORD)里有多少bit被置1

看到别人的blog里面有道这样的面试题,答案如下(求出n中1的个数):int count=0; for (register u_long m = n;m != 0;m &= m - 1)    count++;只用一行,而且循环次数(=m二进制中1的个数)很少.同样一语句实现x是否为2的若干次幂的判断int i = 512;cout

2005-07-03 23:56:00 1659

原创 使用memset 的小问题

    一直没有注意memset是串操作,平时都是用memset(array,0,cout*sizeof())很少用赋其他的值.     结果调用memset(array,1,100*sizeof(int)) 时发现int 数组里面乱七八糟.:P. 呵呵对于字符串数组赋值是正常,拿来对整形数组赋值就不对了。希望大家不犯这样的错误对于上面调用反汇编代码如下:mov         eax,10101

2005-07-03 23:21:00 1935 2

原创 检测CPU支持的指令SSE

  最近学习SSE指令集,SSE全称是stream SIMD Extentions(流SIMD扩展) ,SSE指令采用128位存储单元,可以放置4个浮点数,也就是说一条命令可以执行4次浮点数运算。SSE是为了更快地处理浮点数而开发的扩展指令集,因此该指令通常被用于几何运算方面,例如3D绘图应用软件、电脑游戏。对图形图像、多媒体感兴趣的,可以一起来研究研究。   下面先贴一段简单的检测程序,以后在找

2005-07-03 14:25:00 3907

原创 Still in Love with C++ 中文版(1)

  Still in Love with C++ 中文版(1)[  发表日期:2002-4-18 15:44:17    ]    Still in Love with C++ 中文版Modern

2002-04-24 09:25:00 1186

ShaderX3 CD-ROM

百度网盘链接 ShaderX3 光盘源代码。只是源码,没有pdf,下载请注意

2019-04-25

ShaderX5 CD-ROM

百度网盘链接 ShaderX5 光盘源代码。只是源码,没有pdf,下载请注意

2019-04-22

ShaderX7 CD-ROM

百度网盘链接 ShaderX7 光盘源代码。只是源码,没有pdf,下载请注意

2019-04-22

OpenGL Insights Code

opengl insights 源代码。很不多的一本e文书, 包含Opengl, OpenglES 等

2019-04-03

Real-Time Rendering 4th Edition

Real-Time Rendering 4th Edition 第四版英文版。 实时渲染图形学4

2018-08-29

圣剑英雄传番外篇1

整个游戏,代码到处有,游戏资源就很难找了。这就是资源

2007-10-10

图形程序开发人员指南

图形程序开发人员指南

2007-10-09

图形程序开发人员指南

亚伯拉罕的 图形程序开发人员指南,包含部分quake bsp等内容

2007-10-09

Quake3 自适应huffman编码分析

收集来的Quake3 自适应huffman编码分析,备份一份

2007-10-09

空空如也

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

TA关注的人

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