Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
Когда оптимизация вредна 06.11.02 21:49 Число просмотров: 1399
Автор: Eugene Статус: Незарегистрированный пользователь
|
> Когда оптимизация вредна > MSDN / Code Secure > http://msdn.microsoft.com/library/en-us/dncode/html/secure1 > 0102002.asp > > > Естественным желанием разработчика является очистка после > использования участков памяти, хранящих критичную > информацию - пароли, счета, явки... Естественным способом > такой очистки является вызов, например, функции memset, > забивающей данный участок нулями. Проблема в том, что если > очищаемый буфер является локальным и более не используется, > многие современные C/C++ компиляторы в процессе оптимизации > просто выкинут вызов, сведя на нет все благие намерения > программиста.
Интересно сей баг есть только у MS или везде?
|
<site updates>
|
Когда оптимизация вредна 06.11.02 02:22
Publisher: dl <Dmitry Leonov>
|
Когда оптимизация вредна MSDN / Code Secure http://msdn.microsoft.com/library/en-us/dncode/html/secure10102002.asp
Естественным желанием разработчика является очистка после использования участков памяти, хранящих критичную информацию - пароли, счета, явки... Естественным способом такой очистки является вызов, например, функции memset, забивающей данный участок нулями. Проблема в том, что если очищаемый буфер является локальным и более не используется, многие современные C/C++ компиляторы в процессе оптимизации просто выкинут вызов, сведя на нет все благие намерения программиста.
Полный текст
|
|
Когда оптимизация вредна 06.11.02 21:49
Автор: Eugene Статус: Незарегистрированный пользователь
|
> Когда оптимизация вредна > MSDN / Code Secure > http://msdn.microsoft.com/library/en-us/dncode/html/secure1 > 0102002.asp > > > Естественным желанием разработчика является очистка после > использования участков памяти, хранящих критичную > информацию - пароли, счета, явки... Естественным способом > такой очистки является вызов, например, функции memset, > забивающей данный участок нулями. Проблема в том, что если > очищаемый буфер является локальным и более не используется, > многие современные C/C++ компиляторы в процессе оптимизации > просто выкинут вызов, сведя на нет все благие намерения > программиста.
Интересно сей баг есть только у MS или везде?
|
| |
Когда оптимизация вредна 06.11.02 22:24
Автор: dl <Dmitry Leonov>
|
> Интересно сей баг есть только у MS или везде?
Это не баг, а нормальная работа оптимизатора. В оригинале упоминаются компиляторы Borland и GNU.
|
|
|