Я исследую методы переноса большого (более 10 миллионов строк) кода C ++ на 64-битные.Я посмотрел на статические анализаторы кода и флаги компилятора, и теперь я смотрю на макросы или другие инструменты, которые могут вносить общие, повторяющиеся изменения.
Я написал несколько регулярных выражений, чтобы увидеть, насколько хорошо они работают впрактика, и, как и предсказывалось, они довольно эффективны.Тем не менее, сначала нужно построить выражения, поэтому я хотел бы посмотреть, есть ли какие-нибудь списки таких выражений или программных инструментов, которые могут автоматически вносить изменения.
Следующие строкипрототипные примеры кода для сопоставления и исправления.(Для пояснения, эти строки не предназначены для представления одного блока кода, но вместо этого это строки, извлеченные из разных мест.)
int i = 0;
long objcount;
int count = channels.count(ch);
for (int k = 0; k < n; k++) { /*...*/ }
Цель состоит не в том, чтобы полностью перенести код на 64-битную версию, авместо этого выполнить первый проход по коду, чтобы уменьшить объем кода, который необходимо проверять вручную.Это нормально, если некоторые необходимые изменения пропущены, и , вероятно, хорошо, если некоторые неправильные изменения будут сделаны, но их следует минимизировать.
Visual Studio - это IDE, которая будет использоваться дляконверсионная работа, так что то, что хорошо работает с VS, является плюсом.Стоимость не проблема.