Проверка границы в C или C ++ дороги? ⇐ C++
-
Anonymous
Проверка границы в C или C ++ дороги?
Связанная проверка стоит дорого
(> x2 раз накладные расходы на время выполнения) < /p>
< /blockquote>
Я получил этот момент выше от одного из моих профессоров. Я смущен этим.
Как я знаю, наиболее трудоемкая часть программы-это Io (из сети и из жестких дисков). < /p>
Но проверка границ в C или C ++ не всегда связана с этими двумя входными источниками. До этого я проверяю размер src , чтобы предотвратить переполнение кучи. Предшественник, который я могу,-это изображение: Получите начальный аддидресс src и \ x00 байт в src (в представлении языка ассамблеи я копирую содержание SRC один за один и смотрю, является ли байт эквивалентен с \ x00 ). После получения двух адреса, просто подчиняйте их, чтобы получить длину SRC . Я читаю содержимое SRC из памяти. Мы все знаем, что читать вещи из памяти быстро.
Подробнее здесь: https://stackoverflow.com/questions/243 ... -expensive
Связанная проверка стоит дорого
(> x2 раз накладные расходы на время выполнения) < /p>
< /blockquote>
Я получил этот момент выше от одного из моих профессоров. Я смущен этим.
Как я знаю, наиболее трудоемкая часть программы-это Io (из сети и из жестких дисков). < /p>
Но проверка границ в C или C ++ не всегда связана с этими двумя входными источниками. До этого я проверяю размер src , чтобы предотвратить переполнение кучи. Предшественник, который я могу,-это изображение: Получите начальный аддидресс src и \ x00 байт в src (в представлении языка ассамблеи я копирую содержание SRC один за один и смотрю, является ли байт эквивалентен с \ x00 ). После получения двух адреса, просто подчиняйте их, чтобы получить длину SRC . Я читаю содержимое SRC из памяти. Мы все знаем, что читать вещи из памяти быстро.
Подробнее здесь: https://stackoverflow.com/questions/243 ... -expensive
Мобильная версия