Можем ли мы использовать код компиляции g ++ для анализа производительности с помощью анализатора производительности Solaris Studio?

Я получаю следующую ошибку при выполнении команды сбора

$ collect -c по образцу
бит (предупреждение): Невозможно работать с / home / user1 / ANALYSIS / SAMPLE_PROGRAM / sample. Пожалуйста, перекомпилируйте его на машине с Solaris10 обновлением 5 или выше (или OpenSolaris версии snv_52 или выше). Если вы используете более старую операционную систему, попробуйте -xbinopt = prepare (только SPARC).

Пример программы был собран со следующими флагами g ++

g ++ -c -Wall -g3 -m64 -pthread -O2 -DSOLARIS -DSS_64BIT_SERVER

Пример программы прост
содержит только следующий код
while (true)
{
sleep (10);
}

Я просто пытался понять, можно ли использовать скомпилированный код на С ++ с командой collect.
Поскольку у нас есть огромный скомпилированный двоичный файл g ++, который мы не хотели бы снова компилировать с помощью компиляторов Solaris Studio C ++

0

Решение

Я так не думаю. Студийный вариант -xbinopt=prepare включает специальный код в двоичные файлы для использования счетчиков производительности. Я не использовал его в течение многих лет … насколько я помню -xbinopt=prepare делает двоичный файл для записи данных о производительности в файлы в CWD (или dir, указанный другим параметром), и позднее вы можете использовать эти данные с -xbinopt=use,
Правила компилируются 1 с подготовить, затем запустите для сбора данных, а затем перекомпилируйте с собранными данными о производительности, чтобы получить более оптимизированный код. Аналогично JIT-компилятору, но во время компиляции.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]