У меня есть неизвестный исходный файл в моем отчете, из-за чего я не могу определить правильный цикл для анализа моего отчета.
Я хочу показать исходный код с анализом 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;
}