软件开发: 11 2007存档

        gprof是个性能分析工具。今天用它分析程序,程序叫Mig(化名),加了“-pg”参数编译链接后运行,出不来Mig.gmon文件,先怀疑是权限问题,看了看权限是对的,同事帮忙一看,唉,可执行文件是个软链接,真正的Mig.gmon被写到被链接的真是可执行文件所在的目录去了。
        搞了一阵,发现又找不到Mig.gmon,真是多灾多难,这次又是什么原因?既不是权限又不是软链接,是Mig程序里有一段调用了system函数,里面用“cd”切换了工作目录,而Mig.gmon是应该写在“当前目录”下的,所以又找不着了。
        现在才明白为什么很多shell命令都要求写出输出的具体文件名,就是为了避免把输出写到易变的“当前目录”里。