我有许多项目使用的数百个 C++ 源文件。它们是很久以前写的,它们都被包装在编译指示中:
#pragma pack(push, 1)
/* Code here ... */
#pragma pack(pop)
我负责移植到 x64。在需要进行的许多更改中,其中之一是需要为 Windows API 调用提供 16 字节对齐的堆栈。在对我们的系统进行了一些分析之后,我们确定 1 字节的结构对齐是不必要的,并且不会对系统产生任何不利影响。我需要摆脱 1 字节的包装。
我知道我可以快速查找/替换所有文件,然后将它们删除。这是一个好的解决方案;如果这是唯一的方法,我很乐意这样做。但是,如果我可以避免签入涉及对数百个源文件的更改以及可能与之相关的所有冲突的修订,那么这将是可取的。