大家好,欢迎来到IT知识分享网。
一、为什么需要qt和vs互转?
- 原因:因为图像可以再visual studio2019、2015下进行方便的debug调试和观察,imagewatch;但qt-windows没有相关合适工具;因此同软件工程师协调的话,编译器使用同一个,但编辑器需要切换。
- qt-linux也有替代工具,但qt-windows没有合适工具;另外,windows下visual studio的调试工具链更加方便好用。
- linux下,调试工具可以使用visual studio code来进行;总结,微软的代码工具链更加好用,使用的人多,工具更完善,应该多加使用!
qmake -tp vc xxx.pro # 可以将QTCreator的.pro转为visual studio的。vcxproj文件 # cl.exe需要在环境变量中
要在对应目录下生成,否则会找不到路径;即可;完美;很简单的。
- 注意事项:就是转完之后,依赖路径啥的,都变成了绝对路径,需要自己再修改为相对路径
- 然后.pro可能只生成debug的配置;release的配置,需要再从debug来生成,参考VS Studio C/C++项目如何从Debug中快速复制或创建Release配置_visual studio debug的属性设置怎么复用到release-CSDN博客
二、C++ 内存增长,原因排查
- 排查堆内存泄露,new和delete不匹配:visual studio下使用堆内存分析;linux下有valgrind类似工具;来分析;
- 多线程里面,发送和接受的速度不一致,虽然队列没有新增,但是收发速度不一致,导致微小的1M/s的内存增长,在长时间运行后,将产生7G+内存开销;这种缓慢增长的内存开销,对于长时间运行的程序来说也是不可接受的。观察方法:看内存的增加,然后暂停发送,可以发现内存在减小,说明,等待一下内存即可释放。
说明,收发的速度上有问题;需要等待发送完成,才可以;这是现象,具体原因需要进一步定位。
- 心得:在此次排查过程中的心得十分重要,在同事协调过程中,发现暂停程序后,内存在下降,会下降回原始开销,这是定位问题至关重要的一点!
- 因此,对于内存异常开销类的程序问题,定位方法,需要再研究一下;怎么观察?怎么定位?怎么发现?怎么排除?需要从现象来倒查问题,此举至关重要。
- 复现→定位→原因→解决!——可复现的东西至关重要!!!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/154273.html