运行收集命令时出现以下错误
样品$collect-cbit(警告):无法对/home/user1/ANALYSIS/SAMPLE_PROGRAM/SAMPLE进行操作。请在带有Solaris10更新5或更高版本(或OpenSolaris版本snv_52或更高)的机器上重新编译它。如果使用较旧的操作系统,请尝试-xbinot=prepare(仅限SPARC)。
示例程序是用以下g++标志构建的
g++-c-墙-g3-m64-pthread-O2-DSOLARIS-DSS_64BIT_SERVER
示例程序很简单仅包含以下代码while (true)
{
sleep (10);
}
我只是想看看c++代码编译的代码是否可以与collect命令一起使用。由于我们有一个巨大的g++编译的二进制文件,我们不想再使用Solaris Studio C++编译器进行编译
-xbinopt=prepare
包含了使用性能计数器的二进制文件的特殊代码。我已经好几年没用了。。。就我记忆所及,-xbinopt=prepare
使二进制将性能数据写入CWD(或其他参数指定的目录)中的文件,稍后您可以将这些数据与-xbinopt=use
一起使用。规则首先用prepare编译,然后运行以收集数据,然后用收集的性能数据重新编译以获得更好的优化代码。类似于JIT编译器,但在编译时。