Используйте всю системную память в Солярисе

grep работает над чистым текстом и ничего не знает о базовом синтаксисе Вашей программы C. Поэтому в порядке не поиск в комментирует, что у Вас есть несколько опций:

  1. C-комментарии полосы перед поиском, можно сделать это использование gcc -fpreprocessed -dD -E yourfile.c Для получения дополнительной информации см. https://stackoverflow.com/questions/2394017/remove-comments-from-c-c-code

  2. Пишите/используйте некоторый hacky, который полурабочие сценарии как Вы уже нашли (например, они работают путем пропуска строк, запускающихся с // или /*) для обработки деталей всех возможных комментариев C/C++ (снова, см. предыдущую ссылку для некоторых страшных тестовых сценариев). Затем у Вас все еще могут быть ложные положительные стороны, но Вы ничего не должны предварительно обрабатывать.

  3. Использование более усовершенствованные инструменты для того, чтобы сделать "семантический поиск" в коде. Я нашел "coccigrep": http://home.regit.org/software/coccigrep/, который Этот вид инструментов позволяет поиску некоторых определенных операторов языка (т.е. обновление структуры с именем) и конечно они отбрасывают комментарии.

3
11.12.2012, 02:22
1 ответ

jlliagre ответил на вопрос. И отправленный ссылка на хороший ответ. Поверьте ему, не мне.

Когда Вы пишете в/tmp в Солярисе только - Вы пишете в RAM не к диску. Поэтому записи в/tmp файлы идут супер быстро. После того как RAM заполняется, система придет к проверке. Если Вы полностью заполните/tmp, то writews к/tmp попытается записать для свопинга, и в конечном счете система падает. Этот подход обходит ulimit для памяти. Убедитесь, что Вам не указали макс. размер файла:

ulimit -a
file(blocks)         unlimited
3
27.01.2020, 21:24

Теги

Похожие вопросы