相关推荐
-
C++学习(5):使用汇编获取时间差
我电脑cpu为i7 8700 主频为3.19GHz: 代码如下: #include<iostream> #include<windows.h> using namespace std; //CPU的经过的时钟周期数 inline unsigned __int64 GetCycleCount() { __asm _emit 0x0F __asm _emit 0x31 } int main() { __int64 t1 = GetCycleCount(); Slee
-
获取CPU频率
// 获取CPU速度 UINT64 start, stop; UINT64 nCtr, nCtrStop; _asm _emit 0x0F _asm _emit 0x31 _asm mov DWORD PTR start, eax _asm mov DWORD PTR [start+4], edx QueryPerformanceCounter( (LARGE_INTEGER *)&n
-
Hawala:基于信任的现实货币交易系统
字货币BitCoin启发了一系列P2P支付网络的诞生,可以让全世界任何两个人通过互联网实现金融交易,而无需通过金融机构和各种烦琐的手续。如果交易双方两人不存在直接的互信关系,系统能在两人之间的信任链中寻找可能的路径促成交易(例如Ripple就是这样一种服务,它通过引入基础货币和网关系统兑换,解决信任问题)。 不过其实在电子货币诞生前,这种交易方式就早已存在于现实世界。 Hawala是一种古老的...
-
【转自天极网】在Visual C++中使用内联汇编
一、内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合: 1.使用汇编语言写函数; 2.对速度要求非常高的代码; 3.设备驱动程序中直接访问硬件; 4."Naked" Call的初始化和结束
-
计算代码执行的CPU时钟
// VS 6.0#define RDTSC _asm _emit 0x0f _asm _emit 0x31#pragma warning (push)#pragma warning (disable:4035)__inline unsigned __int64 timetested() { RDTSC }#pragma warning (pop)// VS.NET 2003__inline
-
在C/C++程序中得到精确时间间隔的方法
在 C/C++ 程序中常用 time( ) 来获取系统时间,但它是以秒为单位的,一需要小于1秒的时间间隔或者精度高于1秒的时间时就不再适用。 此时可以利用一种直接利用Pentium CPU内部时间戳进行计时的高精度计时手段来实现,可以用RDTSC指令来得到这个时间戳,祥见Kacker的文章,在Programming版精华区X-4-11-8。 得到CPU内部时间戳的方法如下:
-
反调试跟踪的一点心得
此贴转载于看雪:http://bbs.pediy.com/showthread.php?t=79205 本文所提到的一些方法,对于熟练的逆向调试者来说不值一提。写出来的目的只是帮助初学者解决调试中可能遇到的一些问题。这些问题以前我遇到过,当时解决起来花了不少时间。 1、 INT 3断点: 检测关键API的入口的第1个字节是否为INT 3(0xCC),是则OVER。相关代码如下: if
-
【HPC】Intel SIMD技术——如何用code检查你的CPU支持哪些指令集?
并不是每个Intel 的 CPU 都支持所有的 SIMD 指令集。例如,至强10代就不支持AVX512。我之前是在至强11代上开发的程序,使用AVX512没有问题,后来在实验室的机器上程序就无法运行,原因就是实验室的机器是至强10代,不支持AVX512指令。后来不得不使用AVX指令重新优化code。那么问题来了,如何通过code实现程序启动动态选择使用哪个指令集?
-
C++环境测试CPU是否支持MMX,SSE等
C++环境测试CPU是否支持MMX,SSE等
-
VS嵌入汇编ASM
1.嵌入汇编语言的格式 C++语言是C语言的超集,它是在C语言的基础上扩展形成的面向对象程序设计语言。微软Visual C++ 5.0∕6.0则是Windows 9.x平台上广泛应用的开发系统。本节以Visual C++ 5.0∕6.0为例,说明32位Windows 9.x环境下汇编语言与C++的混合编程。它也分为嵌入汇编和模块调用两种方式。 Visual ...
-
MMX指令集在C++中的使用
上次在《关于内联汇编的几个技巧》一文中只是简单地介绍了如何在C++中使用内联汇编,这一次先对上一次的文章作一补充,然后介绍如何使用MMX指令。 一、 内联汇编的一般原则:1、 自由使用通用寄存器;(EAX,EBX,ECX和EDX)2、 其它寄存器利用堆栈保留,使用,最后恢复;一般的像下面这样: __asm{ push ebp push esp ……….//使用EBP和ESP po
-
关于MMX多媒体扩展指令集的优势分析
在刚学习MMX指令集的时候,我最大的疑惑便是它的意义,如果只是起到一个函数的作用,那么势必会拖慢汇编的运算效率,但通过实验发现,它不仅没有降低效率,反而比手写这段过程的执行效率要高。 下面通过一个实例来验证其运算效率: (一)双声道数据的存储 #define...
-
SIMD——MMX指令集介绍
MMX指令集共47个指令,分为以下几类: • Data transfer • Arithmetic • Comparison • Conversion • Unpacking • Logical • Shift • Empty MMX state instruction (EMMS)1. Data Transfer(数据转移)从内存到MMX寄存器/ 从MMX寄存器到内存/ 从通用寄存
10 楼 viewtifuljoey 2008-09-05 11:56
9 楼 yejinfei 2008-08-22 16:40
8 楼 qhfrose 2008-08-22 09:45
7 楼 JArcher 2008-08-21 14:50
6 楼 vieri122 2008-08-21 11:52
5 楼 rockjava 2008-08-21 09:50
4 楼 魔力猫咪 2008-08-21 09:16
3 楼 jamesji 2008-08-21 00:14
Trial Programs Included With Orders
We may include additional programs with an order which may be used for trial purposes only. You will have 30 days from the delivery date to evaluate these programs. Any use of these programs after the 30 day trial period requires you to obtain the applicable license. Programs licensed for trial purposes are provided "as is" and we do not provide technical support or any warranties for these programs.
2 楼 boin 2008-08-20 23:51
http://commerce.bea.com/products/workshop/102/workshop_studio102.jsp
WorkShop Studio
1 楼 fxbird 2008-08-20 17:08