英特尔® VTune™ 放大器 XE 2013 未知源文件
Posted
技术标签:
【中文标题】英特尔® VTune™ 放大器 XE 2013 未知源文件【英文标题】:intel® VTune™ Amplifier XE 2013 Unknown source file 【发布时间】:2014-03-19 02:26:26 【问题描述】:我的报告中有未知的源文件,这使我无法通过正确的循环来分析我的报告
我想通过 vtune 分析显示源代码,但是如果我编译 c 并获取执行文件。当我试图分析行为时,我只能检查汇编代码!有人知道如何显示源代码吗?另外,如果我想做 itt_pause() 和 itt_resum() 我想在没有 icc 编译器的情况下怎么做 我将文件编译为
gcc -c -std=c99 -O2 app.c
gcc -o app app.o
我需要分析的源代码:
#include <stdio.h>
#include <stdlib.h>
int foo_data_collected1()
int sum = 0;
for (int i = 0; i < 100; i++)
if ((i & 0xffffffff) == 0)
sum++;
printf("T");
printf("F");
return sum;
int foo_data_collected2()
int sum = 0;
for (int i = 0; i < 10000000L; i++)
if ((i & 2) == 0)
sum++;
return sum;
int foo_data_collected3()
int sum = 0;
for (int i = 0; i < 10000000L; i++)
if ((i & 0x80000000) == 0)
sum++;
return sum;
int foo_data_collected4()
int sum = 0;
for (int i = 0; i < 10000000L; i++)
if ((i & 4) == 0)
sum++;
return sum;
int foo_data_collected5()
int sum = 0;
for (int i = 0; i < 10000000L; i++)
if ((i & 3) == 0)
sum++;
return sum;
int main()
int sum = 0;
sum = foo_data_collected1();
printf("\nSum = %d\n", sum);
return 0;
【问题讨论】:
【参考方案1】:在编译源代码时使用-g
编译器选项以添加调试信息。
gcc -g -c -std=c99 -O2 app.c
gcc -o app app.o
【讨论】:
以上是关于英特尔® VTune™ 放大器 XE 2013 未知源文件的主要内容,如果未能解决你的问题,请参考以下文章
性能测量 - 获取每个函数的平均调用时间。英特尔 Vtune 放大器