У нас есть приложение, в котором в VC6.0 появляется ошибка в пуле строк. Две разные строки «объединяются» в одну строку, вызывая сбой. Этот сбой не происходит в VS2010. ИЛИ, если в VS6.0 используется / Zi вместо / ZI. Просто интересно, по умолчанию в VS6.0 используется пул строк, а не по умолчанию в VS2010. В этом случае может случиться так, что ошибка объединения строк все еще существует. Если существует МНОГИЕ строки, которые почти идентичны, рабочая теория, которую я имею (еще предстоит проверить), заключается в том, что в пуле строк происходит столкновение хеша, которое остается необнаруженным, что исключает одну из двух строк. Это будет видно в сгенерированном коде ASM, если взглянуть на указатели на две почти одинаковые строки.
В нашем случае мы не изменяем строки в VC6.0, просто ссылаемся на них.