该项目有约100万行代码。由于未严格指定“ long”类型的大小,并且取决于体系结构,因此有必要将其替换为uint32_t / int32_t。它也适用于所有变体,例如unsigned long,signed long int等: https://en.cppreference.com/w/cpp/language/types
我正在寻找一个建议,以查找/替换它们,而不破坏注释和变量名。也许它可以是智能正则表达式或python mako脚本?
答案 0 :(得分:0)
您可能会冒险进行简单的搜索和替换。
应该以正确的顺序工作:unsigned long long
,然后是long long
,然后是unsigned long
,然后是long
,并带有正则表达式功能来考虑{{1 }}。
请注意,确保没有错误的唯一方法是使用clang或其他解析器并解析完整的代码,这是一种更加困难的任务方式。
可以在支持它们的搜索和替换编辑器中使用的正则表达式示例如下:
int