0

我的报告中有未知的源文件,这使我无法正确循环来分析我的报告

我想用 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;
}
4

1 回答 1

4

在编译源代码以添加调试信息时使用-g编译器选项。

gcc -g -c -std=c99 -O2 app.c
gcc -o app app.o
于 2014-03-20T00:52:44.753 回答