回忆录二2023年5月

简介: 回忆录二2023年5月

Open3d某些机器上无法运行

某些机器(py版本3.8.12)无法导入Open3d0.15官方版、我们的微调版,只能导入Open3d0.13官方版。当时有三个方案:一,查到不能加载的原因,并解决。二,编译支持python3.8的open3d0.15。三,在open3d0.12的基础上微调。把pybind项目所有导出内容删除,还是无法加载。把pybind项目所有源文件(.cpp)全部删除,可以导入了。估计这些类没导出,但还是链接了。恢复项目文件,每删除2到4个文件,备份一次项目文件。文件会有相互依赖的关系,只删除不依赖其它文件(类)的文件。第十四轮后,删除raycasting_scene.cpp后可以加载。进一步分析后,发现是embree3.lib引起的。删除此文件,编译的pybind.pyd可以加载,我们的程序也可以正常运行,我们的程序没使用此文件的类。

消息中转小软件

同事有个5000行的小软件,运行几小时后,就“卡死”(界面无法移动,程序还在跑),让我支援。初步讨论的结果,把一个函数从主线程移过来。问题是这个函数有800行,用了几十个成员变量,还调用了几个函数。2.5天后,终于移植完毕。测试了整整一天才上线,上线结果无大碍。幸亏花了几小时,弄了2个小工具用于模拟发送端、接收端。清点战果,移动重构了1300行代码。

消息中转小软件卡顿几秒

两三轮日志后,发现log4写不到30个字符的日志,大约0.01%几率需要800ms或更长时间,其它基本2ms,大部分都是0ms。最初方案:自己写个简单的日志类。改进一:由于是运行日志,不涉及崩溃的问题。所以,可以将日志缓存起来,开启一个线程专门写日志。显然这个日志类不需要考虑多线程。改进二:开启的新线程直接用log4net而不是自己写的类写日志。就算不考虑多线程,这个类也有很多问题要考虑,比如日志文件会变大。改进三,将日志积累起来,减少文件打开的次数,无效果。可能log4已经进行了优化。

关于QT

同事有个用到QT的软件,需要我支援,安装QT总失败。公司七八位用过QT同事都来帮忙,也未解决。后来发现是和绿盾冲突,在虚拟机上先装开发环境,再装绿盾就没问题。个人对QT无好感,C++做界面太亏了。

安装QT,我安装的版本是5.14.2。

安装VS2017。

通过VS扩展安装QT插件。

配置QT版本,如果修改了版本名称,需要修改项目属性。

工具选项的Version必须和项目属性的QT Installation相同,Path是QT的VS子安装包(默认不安装)的目录。

QT的信号槽似乎与dump文件冲突

我刚给绿胶大软件,增加dump文件。

发现在测试平台的机器上生成的dump文件,无法调试。本机测试产生的dump文件,可以调试。

怀疑QT的信号槽和dump文件冲突。

一, 测试平台某个界面的按钮响应事件崩溃产生的dump文件,无法调试。

二, 测试平台 MainWindow::OnInitialUpdate() 和 main函数产生的dump可以调试。

qt 对后勤的压力太大了,c++不好招,去做界面太浪费了。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
【杂谈】如何找工作
个人认为找工作的 最好的方法就是让工作找自己 我觉得找工作就像在孤岛里寻求支援 最好的方法就是点亮火把制造求救信号 而非看到一艘🚢就赶去乞求上岸 因为你不知道 这搜🚢是都否有载人的意愿 火把就像是自己的个人IP 个人IP越强
23 1
|
7月前
每天刷题五道RHCSA/6-10题(Radhat8.2)
每天刷题五道RHCSA/6-10题(Radhat8.2)
36 0
|
10月前
|
安全 程序员 Python
这篇写给想选计算机专业的学弟学妹们
另外,这次我专门在自己母校拍了个视频,也算做个小宣传。但因为没经验、没设备,所以拍得比较业余,有人表示根本看不下去图片。纠结了一番我决定还是发出来。我经常跟同学说,你开始写代码不知道怎么写太正常不过了,谁不都是从小白过来的。
|
12月前
|
算法 Go
牛客寒假算法集训营 2 感想
【【题目讲解】2023牛客寒假算法基础集训营2】
64 0
牛客寒假算法集训营 2 感想
|
运维 Kubernetes 架构师
|
运维 监控 架构师
金鱼哥RHCA回忆录:CL210介绍
金鱼哥RHCA回忆录:CL210介绍
466 0
金鱼哥RHCA回忆录:CL210介绍
|
运维 安全 数据安全/隐私保护
金鱼哥RHCA回忆录:DO447管理用户和团队的访问
第七章 管理用户和团队的访问
69 0
金鱼哥RHCA回忆录:DO447管理用户和团队的访问
|
存储 运维 Linux
RHCA回忆录---RH236介绍
RHCA回忆录---RH236介绍
274 0
RHCA回忆录---RH236介绍
|
设计模式 运维 Devops
RHCA回忆录---DO447介绍
RHCA回忆录---DO447介绍
393 0
RHCA回忆录---DO447介绍
|
开发框架 .NET 程序员
我的回忆录:如何成为会写书的程序员?
作为一个多年的程序员,深知大多数程序员平时对写文档是有一些“不喜欢”的,即使自认为平时还算喜欢做一些“技术笔记”的我,也是这里扔一个txt、那里扔一个word,至于内容更是“只写关键点”。之前也有写博客的习惯,但都是想到哪写到哪,不会注意篇幅、排版等,完全就是网络版的随心笔记。
124 0
我的回忆录:如何成为会写书的程序员?