C++代码迁移: handling uninitialized pointers

标签 c++ linux

根据标题,我计划移动一些十多年前为 AIX 开发的遗留代码。问题是代码库很大。开发人员没有在原始代码中初始化他们的指针。现在,在将代码迁移到最新服务器时,我发现了一些问题。

我知道最好的解决方案是遍历所有代码并根据需要初始化所有变量。但是,我只是想知道是否有任何其他解决方案可以解决这个问题。我试过谷歌但找不到合适的答案。

最佳答案

最具预防性的长期方法是在声明它们的位置初始化所有指针,更改代码以使用适当的智能指针来管理生命周期。如果您有任何类型的单元测试,这种重构可能相对轻松。

在短期内,如果您要移植到 Linux,您可以使用 valgrind 并很好地追踪困扰您的一两个实际问题,让您有时间以更悠闲的速度进行重构。

关于C++代码迁移: handling uninitialized pointers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462629/

相关文章:

linux - lxc - Linux容器无法访问设备节点

linux - ./start-hbase.sh 不是独立启动的

c++ - 使从一个基类派生的类能够使用继承的 protected 成员

c++ - 如何在C++中直接打印十六进制值?

c++ - 从 MinGW 链接到 MSVC DLL

linux - 安装安装

c - execvp 找不到程序时返回错误

java - 如何在 Cpanel 管理的服务器上安装 java?

c++ - 客户端关闭后 accept() 不阻塞(使用 Ctrl+C)错误 10093

c++ - 防止滥用专为运输设计的结构