Я получаю следующую ошибку при выполнении команды сбора
$ 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 ++
Я так не думаю. Студийный вариант -xbinopt=prepare
включает специальный код в двоичные файлы для использования счетчиков производительности. Я не использовал его в течение многих лет … насколько я помню -xbinopt=prepare
делает двоичный файл для записи данных о производительности в файлы в CWD (или dir, указанный другим параметром), и позднее вы можете использовать эти данные с -xbinopt=use
,
Правила компилируются 1 с подготовить, затем запустите для сбора данных, а затем перекомпилируйте с собранными данными о производительности, чтобы получить более оптимизированный код. Аналогично JIT-компилятору, но во время компиляции.
Других решений пока нет …