我的报告中有未知的源文件,这使我无法正确循环来分析我的报告
我想用 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;
}