我的报告中有未知的源文件,这使我无法对正确的循环进行分析以分析我的报告
我想用vtune analyze显示源代码,但是如果我编译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;
}
答案 0 :(得分:4)
在编译源代码时使用-g
编译器选项来添加调试信息。
gcc -g -c -std=c99 -O2 app.c
gcc -o app app.o
答案 1 :(得分:0)
更多详细信息,请参见此处的VTune文档:https://software.intel.com/en-us/node/2c4df853-6ac4-4248-a8a8-7e2522b39835