- 博客(16)
- 资源 (9)
- 收藏
- 关注
转载 探讨SSE指令
比较一下3DNow和浮点指令的性能差异,可以看出,3DNow指令集在运算速度上要远远超过浮点指令。那么,SSE性能如何呢,它是否有能力同3DNow一拚高低?我想,很难说那一个更好一些,因为它们都有着很高的性能。不过单从指令集上看,SSE还是要略胜一筹的。毕竟是新增了8个128位的寄存器,而且指令的功能也要强大一些。3DNow使用MMX指令的寄存器,可以借助MMX指令的强大功能,不必设计太多的
2006-09-24 01:04:00
6093
转载 基于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
2151
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
5716
转载 boost condition
1.简介condition是一个简单的同步对象,用于使一个线程等待一个特定的条件成立(比如资源可用)。一个condition对象总是和一个mutex对象配合使用。mutex在交给condition对象的wait系列函数时,必须已经通过lock对象加上了锁。当线程陷入等待时,condtion对象将释放mutex上的锁,当wait返回时,mutex上的锁会重新加上,这一unlock/lock动作由co
2006-09-24 00:17:00
7180
原创 鼠标HOOK
对于win32每个进程都有自己独立的4GB空间,这个每个程序相对于其他程序都是独立的,一个程序轻易不能访问其他程序地址,一旦访问了轻则跳出出错提示,重则蓝屏,然而当你离开了当前程序,却想要跟踪一些消息,就困难重重了。幸好windws 给我们提供了钩子(hook)函数。 钩子(hook)一般分为两个等级:全局钩子和局部钩子。全局顾名思义可以挂钩其他程序的消息,而局部则直挂钩使用钩
2006-09-24 00:15:00
4758
转载 boost随机数
一. 概念随机数被用在很多场合, 比如数值计算, 游戏, 加密, 测试.根据场合的不同, 需求的随机数发生器也不尽相同. 可以分为一下三种.non-deterministic random number generator pseudo-random number generator quasi-random number generator [数字发生器{number generator)]一个
2006-09-23 02:30:00
4118
转载 boost pool 内存池
简介: Pool分配是一种分配内存方法,用于快速分配同样大小的内存块, 尤其是反复分配/释放同样大小的内存块的情况。 使用: 1. pool 快速分配小块内存,如果pool无法提供小块内存给用户,返回0。 Example: void func() { boost::pool ^^^^^^^^
2006-09-23 02:27:00
3309
转载 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
2899
转载 boost timer类介绍
1, 简介 很多时候我们写程序都要计算一下时间. 其实就是在一个操作两端记录一下时 间, 然后减一下. 如果我们懒到这个动作都想省掉, 那就用boost::timer吧.2, 使用 有三个可以用的类类progress_timer在离开定义自己的scope之后就会自动销毁, 并且显示经过的时间.#include #include #include #include int main(){
2006-09-23 02:23:00
3355
转载 boost库xml序列化
今天利用编版本的时间研究了一下boost的序列化,特别是xml序列化的东东,还是有很多收获,记下来怕以后忘记了,人老了,很多东东都记不得了......(一)研究boost库xml序列化要做准备的工作a.下一个最新的boost库记住用1.32版本的,这个版本提供了XML序列化的支持b.windows下用的VC7.0,这个是一定要了,我一直没舍得换我的VC6,结果编译boost的seria
2006-09-23 01:54:00
5164
原创 避免内存碎片
许多书籍提到过内存碎片,也看到一些方法防治内存碎片。一直以来都以为频繁的分配释放内存会导致系统内存碎片过多(虽然这个想法并没有错到离谱)。后来看过计算机程序设计艺术上面关于伙伴系统的介绍,一般操作系统都采用此种方法来管理内存。频繁分配释放内存确实会导致一些系统负担,但分配的内存释放及时,内存管理系统将能够急时合并相邻空闲内存块,得到更大的空闲内存。这样并不会导致内存碎片的出现。即使相邻空间
2006-09-22 21:50:00
5568
转载 C++ Boost 库文档索引
C++ Boost 库文档索引 1 按字母顺序库列表 2 按主题库列表 2.0 字符串和文本处理( String and text processing) 2.1 容器(Containers) 2.2 迭代器(Iterators)
2006-09-21 23:27:00
3230
1
转载 C++ Boost库简介
boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。 boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数
2006-09-21 21:25:00
12572
转载 boost::any的介绍
动机 许多时候我们需要一个generic type:变量是真正可变的,可以容纳许多其他的特定类型,而不是C++通常的严格的静态类型。我们区分三种基本的generic type种类: 1. 可容纳许多可能值类型的类型,比如int和string,并且可在它们之间自由转换,例如:将5作为"5"或者反之。这样的类型在脚本语言和其他的解释型语言中较常见。boost::lexical_ca
2006-09-16 22:11:00
1296
原创 vc 助手
visual assist vc6 的专家系统很差,2003还马马虎虎,用这个插件可以对第三方库分析,获得动态输入提示,自动识别各种关键字,系统函数,成员变量,自动更正大小写错误,自动标示错误,可以goto到鼠标所在函数等等可以到 www.ttdown.com 下载。numega boundcheck是 针对Visual C++6.0应用程序的最为全面的错误检测工具。BoundsChecker 能
2006-09-15 23:11:00
1895
原创 使用远程线程制作不死进程
远程线程指把当前进程部分代码注入到其他进程做为线程执行,虽然钩子程序能挂钩其他程序的消息,但钩子程序退出,注入的dll也就退出了,而远程线程不会 随着本地进程退出而结束。而且可以处理更多的事情,而不局限于消息。由于98不支持所以只能在nt内核上运行,下面是制作远程线程需要使用的api。获取进程句柄方法之一是使用GetWindowThreadProcessId函数,这个函数可以从一个窗口句柄获得创建
2006-09-15 23:05:00
1888
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人