Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Floating point 如何分析C/C+中算术运算的数量+;节目?_Floating Point_Profiler_Integer Arithmetic - Fatal编程技术网

Floating point 如何分析C/C+中算术运算的数量+;节目?

Floating point 如何分析C/C+中算术运算的数量+;节目?,floating-point,profiler,integer-arithmetic,Floating Point,Profiler,Integer Arithmetic,有没有办法分析某个C/C++程序中使用的算术运算总数?所谓算术运算,我指的是在硬件中使用整数/浮点/特殊算术单元的任何运算 如果它在英特尔X86-64体系结构上,我建议使用pin工具:。有一个插件内置,即在它的顶部,可以独立仪器。99个输出中有一个正好是“浮点”。也要查看“算术控制流”和“SSE/MMX”,因为编译器使用了不同的寄存器。这可以确保您监视所有浮点。对于进程执行的计数操作,没有通用的可移植机制。各种系统都有这样做的方法,通常作为需要管理员权限才能使用和/或需要特殊接口的特殊硬件调试功

有没有办法分析某个C/C++程序中使用的算术运算总数?所谓算术运算,我指的是在硬件中使用整数/浮点/特殊算术单元的任何运算

如果它在英特尔X86-64体系结构上,我建议使用pin工具:。有一个插件内置,即在它的顶部,可以独立仪器。99个输出中有一个正好是“浮点”。也要查看“算术控制流”和“SSE/MMX”,因为编译器使用了不同的寄存器。这可以确保您监视所有浮点。

对于进程执行的计数操作,没有通用的可移植机制。各种系统都有这样做的方法,通常作为需要管理员权限才能使用和/或需要特殊接口的特殊硬件调试功能。他们还经常需要处理器或其架构的详细技术知识。。。作为整型、浮点型、双精度,。。。并计算其中的操作数。。。。在Measured程序中,只需将所有int、float、double替换为myint、myfloat、mydouble…@Spektre这听起来是个好主意,但它需要手动替换源代码中的所有算术运算,并且可能由于编译器行为不同而不准确。当程序没有源代码时,它就不起作用了。不需要手动替换(替换源代码中的所有内容),操作在同一类型上是相同的,因此具有相同的输出,但是您需要源代码(您是用C/C++编写的,所以我认为这不是问题)。若你们想检查exe/dll或者什么,唯一的选项是模拟和计数算术,SSE,MMX,。。。或FPU说明让我知道这是否对您有帮助,以便您可以接受答案,以防其他人想要使用;)看起来云母链接现在好像是某人的个人博客。这是正确的链接吗?