我编写了一个注定要在Solaris SPARC系统上的C应用程序.但是,我的大部分开发工作都是在Mint Linux 64位计算机上进行的.

我已经看到内存泄漏很小,并且一直在Linux上使用Valgrind进行检查.

我的问题是:如果我在Linux上运行Valgrind并将所有内存泄漏的内容弄成100%(或至少接近100%),那么如果我可以在Solaris上编译该应用程序,是否意味着它也应该表现相同(意思是不必使用Solaris特定的内存泄漏检测工具?)

我问的原因是,我真的没有时间学习每个平台的所有这些分析工具……我希望,如果Valgrind告诉我修复某些问题,那么该修复程序也将在Solaris上运行?

我知道Linux和Solaris之间的内存管理会大不相同,但是在内存泄漏检测方面,它们肯定是一样的吗?

任何建议/帮助将不胜感激;-)

林顿

解决方法:

一般而言,如果两个系统上的代码执行路径相同,并且您清除了其中一个的内存泄漏,则可以,它也会在另一个系统上清除它们.

但是,当机器之间的情况有所不同时,并不是很简单. EG,它试图在linux系统上做一件事,而在solaris系统上做另一件事.

Valgrind是一个很棒的工具,最好的办法是在linux上尝试一下,看看它是否也清除了solaris上的泄漏(请使用ps或列出了solaris下内存大小的其他工具进行检查,并确保它不会在那里增加) ).

标签:memory-leaks,valgrind,solaris,c-3,linux

来源: https://codeday.me/bug/20191208/2093922.html

c程序在solaris与linux的不同,在Solaris上编译应用程序时,在Linux上使用Valgrind也会有所帮助吗?...相关推荐

  1. mingw linux socket,MingW上编译WinSocket程序undefined reference to `WSAStartup@8'报错的解决办法...

    在Mingw stdio上编译Windows Socket程序经常出现这样的错误 undefined reference to `inet_addr@4' undefined reference to ...

  2. vc6 在win10上编译x64程序的问题总结

    VC6本身是不支持编译x64程序的,如果想在VC6的环境下开发x64程序就需要下载新的微软sdk,支持VC6的最新SDK应该是Microsoft Platform SDK Windows Server ...

  3. 中标麒麟linux卸载qt,国产化 银河麒麟编译Qt程序的问题汇总 | 阿拉灯

    Run in terminal 莫名奇妙软件无法在QtCreator中运行或者调试,main函数都无法进入,QtCreator中一运行就崩溃,并跳到汇编界面,这多半和代码没什么关系,我这里是将项目-& ...

  4. linux qt编译命令,linux下使用命令模式去编译Qt程序

    1.打开终端输入,qmake -v ,如果提示版本信息正,就可以编译程序了. 2.当前目录切换到程序源代码目录,cd /home/likewei/untitled2 3.生成untitled2.pro ...

  5. linux 内核位置无关,常用的设备无关启动时参数 - Linux操作系统内核启动参数详解_Linux教程_Linux公社-Linux系统门户网站...

    常用的设备无关启动时参数. 1.init=... 设置内核执行的初始化进程名,如果该项没有设置,内核会按顺序尝试/etc/init, /bin/init,/sbin/init, /bin/sh,如果所 ...

  6. linux gcc 静态编译,GCC 程序编译的静态链接和动态链接

    (给Linux爱好者加星标,提升Linux技能)转自:Mr_Bluyee 在链接阶段中,所有对应于源文件的 .o 文件.'-l' 选项指定的库文件.无法识别的文件名(包括指定的.o目标文件和.a库文件 ...

  7. linux下qt的文件打包,【最详细最完整】在Linux 下如何打包免安装的QT程序?

    版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! https://blog.csdn.net ...

  8. linux运行c语言实验总结,实验三:LINUX 下C语言使用、编译与调试实验

    一.目的: 1. 练习并掌握Linux提供的vi编辑器来编译C程序 2. 学会利用gcc.gdb编译.调试C程序 3. 学会使用make工具 二.内容 1. 编写C语言程序,用gcc编译并观察编译后的 ...

  9. java 不编译咋办_java – 为什么JVM不编译整个程序,而不是逐个编译?

    他所说的是,在运行时将所有字节码编译成机器语言是不切实际的.您可以预先编译所有内容,但这并不是JIT所采用的方法. 一方面,不知道程序有多大.人们在30分钟的启动时会相当不高兴,因为它编译了可以找到的 ...

最新文章

  1. LeetCode--004--寻找两个有序数组的中位数(java)
  2. fifo 上使用 select -- 转
  3. XV6700刷evdo详细教程
  4. Android ListView与Arrayadapter之间的搭配使用
  5. r语言error in match.fun(fun) :_Go语言200行写区块链源代码分析
  6. 斑能不能彻底去掉_淡妆能不能只用洗面奶卸掉?
  7. linux shell加密压缩,linux的shell指令进行压缩或者解压缩
  8. 59. 螺旋矩阵 ||
  9. (转)WebApi发送HTML表单数据:文件上传与多部分MIME
  10. -Visual Studio 2010- IntelliTrace(智能跟踪)优化c盘
  11. Android Broadcast Receiver 与Activity() (android 开发的四大组件)
  12. xtragrid 某个值 查找_EXCEL查找引用函数:如果只推荐一个EXCEL函数,那就是这个了...
  13. boost python错误_Ubuntu-链接boost.python-致命错误:找不到pyconfig
  14. HotSpot虚拟机对象揭秘
  15. 仓储管理之计价方法——移动加权平均法
  16. 架构师之路:如何做一个好的产品架构师
  17. 计算机网络中报文摘要概念,报文摘要详细介绍
  18. 关于烂代码的那些事(下)
  19. 安全L2-1.4-安全术语介绍
  20. 新闻发布系统——主页面分页

热门文章

  1. 琉璃男主成毅手机壁纸,你要么?
  2. UI设计师素材干货|APP底部导航模板
  3. 让UI设计显得魅力非凡,设计师少不了的渐变背景素材专辑,
  4. python判断列表维度_如何输出python中list的维度
  5. linux设备文件生成,Linux设备文件自动生成(示例代码)
  6. 疫情下远程办公的第二天,躺下来刷刷手机
  7. Linux环境下C语言MySQL接口API:第一讲
  8. struct seq_file
  9. pythonios脚本语言-iOS开发Swift篇—(一)简单介绍
  10. opencv之计算机视觉介绍(笔记01)