我编写了一个注定要在Solaris SPARC系统上的C应用程序。然而,我的大部分开发都在我的Mint Linux 64位机器上。
我看到我的内存泄漏很少,并且已经在Linux上使用Valgrind来检查它。
我的问题是:如果我在Linux上运行Valgrind并将所有内存泄漏事件100%(或者至少接近那个),如果我可以在Solaris上编译应用程序那么它是否意味着应该也表现相同(意味着我不必使用Solaris特定的内存泄漏检测工具?)
我问的原因是我没有时间为每个平台学习所有这些分析工具.....我希望如果Valgrind告诉我修复一些修复程序也可以在Solaris上运行的东西吗? / p>
我知道Linux和Solaris之间的内存管理会有很大不同,但肯定会在内存泄漏检测方面有所不同吗?
非常感谢任何建议/帮助; - )
林顿
答案 0 :(得分:3)
一般来说,如果两个系统上的代码执行路径相同,并且你清理了内存泄漏,那么肯定会在另一个系统上清理它们。
虽然机器之间的情况有所不同,但并不是那么直截了当。 EG,它试图在linux系统上做一件事,在solaris系统上做另一件事。
Valgrind是一个很棒的工具,最好的办法就是在linux上试一试,看看它是否也能清除solaris上的漏洞(请查看ps或其他工具,列出solaris下的内存大小并确保它没有'那里增加。)