По первому пункту. Чтение файла программы происходит в строке FOR /F "eol=c delims=*" %%I IN (%1) DO SET bf_prog=!bf_prog!%%I
попробуйте ему скормить что то примерно с таким с содержимым ">>-<<>" Причем как с экранирующим символом, как без оного.
Можно, конечно изменить код на такой SET bf_prog=!bf_prog!"%%I". Тогда текст программы считывается, но начинают вылезать ошибки в других местах. Проще изменить словарь языка.
По второму пункту. В Вашем варианте выглядит все красивей и работает шустрей.
В моем варианте тестовый пример выполнялся с 10:18:11,59 по 10:19:45,20 — 93 сек
Переделанный вариант — с 10:19:45,21 по 10:21:01,66 — 75 сек
Запустив тест на динозавре вообще получил цифры порядка 6 и 4 минут.
За подсказку спасибо. Код переделал.
А Microsoft все равно виноват, что работает очень медленно. Как уже было показано, падение скорости из-за создания новых процессов не такое уж и катастрофическое.
Большая беда здесь будет не реализация, а скорость работы. Батники выполняются мучительно долго независимо от производительности процессора. Пример, приведенный в статье, у меня выполнялся 76 сек на i7-2600. Результата работы эмулятора мы рискуем вовсе не дождаться.
FOR /F "eol=c delims=*" %%I IN (%1) DO SET bf_prog=!bf_prog!%%Iпопробуйте ему скормить что то примерно с таким с содержимым ">>-<<>" Причем как с экранирующим символом, как без оного.
Можно, конечно изменить код на такой SET bf_prog=!bf_prog!"%%I". Тогда текст программы считывается, но начинают вылезать ошибки в других местах. Проще изменить словарь языка.
По второму пункту. В Вашем варианте выглядит все красивей и работает шустрей.
В моем варианте тестовый пример выполнялся с 10:18:11,59 по 10:19:45,20 — 93 сек
Переделанный вариант — с 10:19:45,21 по 10:21:01,66 — 75 сек
Запустив тест на динозавре вообще получил цифры порядка 6 и 4 минут.
За подсказку спасибо. Код переделал.
А Microsoft все равно виноват, что работает очень медленно. Как уже было показано, падение скорости из-за создания новых процессов не такое уж и катастрофическое.
Он просил передать, чтобы не повторяли его ошибок.