Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, FDSC, Вы писали: FDS>Здравствуйте, ·, Вы писали: FDS>·>Здравствуйте, FDSC, Вы писали: FDS>>>·>Нет. Ты вопрос не понял. На каком основании компилятор будет решать, что "calculateHash" не должна писать в файл (и если кто-то случайно или намеренно там в файл пишет, то выдать ошибку компиляции), а "writeHash" может писать в файл? FDS>>>Программист явно укажет функции, которые могут писать в файл. FDS>·>А calculateHash берёт ссылку на функцию, скажем, для преобразования charset. Каким образом ты объяснишь, что этот преобразователь не должен использовать файловый API? А если вдруг таблицу charset придётся таки в некоторых случаях читать из файла? FDS>Ну вот компилятор должен уметь это делать. FDS>Читать в некоторых случаях прийтись не должно. Если должно, таблица будет передаваться из другого места. FDS>>>·>А если не все, а только 95% функций? А если 5%? Где границу-то ставить? FDS>>>Допустим у нас проект на 20 000 строк кода. 1000 тысяча строк кода может делать всё что угодно. Согласись, есть разница, сколько проверять? FDS>·>Разница слабо коррелирует с кол-вом строк в общем случае. FDS>Что значит слабо коррелирует? FDS>Проверять 100% строк или только 95? FDS>>>·>Это гарантированно быстрее, чем делать много раз при удалении каждого объекта в программе. FDS>>>Гарантированно быстрее вообще не делать. FDS>>>Обнуление памяти при завершении процесса - это слишком рискованная операция. Обнулять всё должно очень и очень быстро. FDS>·>Так это зависит от программы. Если прога держит большое кол-во в памяти в виде развесистой структуры, то может получиться гораздо быстрее занулить всё подряд, чем аккуратно вызывать деструкторы-занулители в правильном порядке. FDS>Неважно, как быстро вы сделаете это в плане времени зануления. Важно, как быстро вы сделаете это в плане времени существования объектов в памяти. FDS>·>С т.з. секьюрити невелика разница. Хакеры могут например специально убивать прогу в точно выбранные моменты времени. FDS>Могут. Но разница есть и, поверьте, она достаточно существенная. FDS>>>pwdAddress = VirtualAlloc(0, len, 0x1000 | 0x2000 | 0x00400000, 0x04); FDS>·>И что эти цифири значат? Ты цитаты из док давай. FDS>Да смысла нет. Просто она может блокировать страницу в физической памяти.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …