根据标题,我计划移动一些十多年前为 AIX 开发的遗留代码。问题是代码库很大。开发人员没有在原始代码中初始化他们的指针。现在,在将代码迁移到最新服务器时,我发现了一些问题。
我知道最好的解决方案是遍历所有代码并根据需要初始化所有变量。但是,我只是想知道是否有任何其他解决方案可以解决这个问题。我试过谷歌但找不到合适的答案。
最佳答案
最具预防性的长期方法是在声明它们的位置初始化所有指针,更改代码以使用适当的智能指针来管理生命周期。如果您有任何类型的单元测试,这种重构可能相对轻松。
在短期内,如果您要移植到 Linux,您可以使用 valgrind 并很好地追踪困扰您的一两个实际问题,让您有时间以更悠闲的速度进行重构。
关于C++代码迁移: handling uninitialized pointers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462629/