РЕШЕНИЕ: Visual C++ 2013 не може да открие буфер превишаване или излъчва C4789 предупреждения

Симптоми

Според библиотеката на MSDN когато съставянето C или C++ код с помощта на Visual C++ 2013 C/C++ компилатора, Visual C++ 2013 трябва да открие някои буфер превишаване сценарии (разбира се, само тези, които могат да бъдат открити в съставяне време) и излъчва Предупреждение C4789.

Обаче някои буфер превишаване не попаднал с всички настройки за оптимизация с Visual C++ 2013, дори ако сте инсталирали Visual Studio 2013 актуализация 5. Няма предупреждение C4789 се излъчва, където по-старата версия на Visual C++ 2010 успешно е излъчен предупреждение C4789.

Забележка: След като инсталирате тази актуална корекция, Visual C++ 2013 може да открие буфер превишаване и излъчва предупреждението C4789 за изданието конфигурация компилации (в случая /Od не се използва).

Причина

Този проблем възниква поради проблем в Visual Studio 2013 C/C++ компилатор.

Решение

Информация за актуалната корекция

Следният файл е достъпен за изтегляне от центъра на Microsoft за изтегляния:
Download Изтеглете сега пакета с актуални корекции.

За повече информация как да изтеглите файлове за поддръжка на Microsoft щракнете върху следния номер на статия в базата знания на Microsoft:

119591 как да получите файлове за поддръжка на Microsoft от онлайн услугиMicrosoft е сканирал този файл за вируси. Microsoft използва най-новия софтуер за откриване на вируси, който е достъпен към датата на публикуване на файла. Файлът е записан на сървъри с повишена защита, които помагат за предотвратяването на неупълномощени промени във файла.

Необходими условия:

За да приложите тази актуална корекция, трябва да имате Visual Studio 2013 инсталиран.

Информация за системния регистър

За да използвате актуалната корекция в този пакет, не трябва да променяте нищо в системния регистър.

Изискване за рестартиране

Не е нужно да рестартирате компютъра, след като приложите тази актуална корекция.

Информация за заместване на актуалната корекция

Тази корекция не заменя предишни спешни корекции.

Заобикаляне на проблема

За да заобиколите този проблем, използвайте /Oi компилатор ключ или анализ за откриване на повече екземпляри на буфер превишаване по време на компилация.

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

×