Це команда скорочення, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
creduce - редуктор програм C і C++
ОПИС
creduce 2.5.0 (невідомо) -- редуктор програм C і C++
C-Reduce вимагає «тест на цікавість» і один або кілька файлів для скорочення, що має бути
доступний для запису. Тест на цікавість – це виконувана програма (зазвичай сценарій оболонки), яка
повертає 0, коли частково зменшений файл цікавий (кандидат на подальше скорочення)
і повертає відмінний від нуля, якщо частково зменшений файл не цікавий (не є кандидатом на
подальше скорочення -- всі нецікаві файли відкидаються).
C-Reduce запускає тест на цікавість у новому тимчасовому каталозі, що містить лише файл
частково зменшений файл(и). Таким чином, коли тест на цікавість розглядає частково
зменшений файл, він повинен зробити це, використовуючи відносний шлях до поточного робочого каталогу. На
з іншого боку, коли тест на цікавість стосується будь-якого файлу, який не зменшується,
це має бути зроблено за допомогою абсолютного шляху.
Тест на цікавість не повинен очікувати жодних аргументів командного рядка. Вона повинна бути
детермінований і може захотіти застосувати обмеження ресурсів для підкоманд, які він викликає
(наприклад, використання ulimit). Зокрема, відомо, що C-Reduce іноді вводить нескінченність
цикл у програмі, яка скорочується. Тому, якщо тест на цікавість виконується
скомпільованої програми, вона, ймовірно, повинна зробити це під час очікування.
Як короткий приклад, якщо ви вважаєте файл цікавим, якщо спрацьовує векторізатор GCC
під час компіляції ви можете використовувати цей тест на цікавість:
ПКУ -w -О3 foo.c -S && grep xmm foo.s
Щоб перевірити, чи працює ваш тест на цікавість, спробуйте запустити ці команди:
DIR=`mktemp -d` cp file_to_reduce [за бажанням, більше файлів для зменшення] $DIR cd $DIR
/шлях/до/тест_цікавості echo $?
Це має призвести до того, що "0" буде передаватися терміналу. Якщо цього не станеться, то
Тест на цікавість є хибним, і C-Reduce не зможе ним скористатися.
Якщо ви раніше не писали тест на цікавість, перегляньте цей підручник
додаткові вказівки:
https://embed.cs.utah.edu/creduce/using/
Якщо це взагалі можливо, запустіть C-Reduce на попередньо обробленому коді, згенерованому, наприклад, за допомогою:
ПКУ -E -P файл.c
Якщо ви не можете зменшити попередньо оброблений код, ви можете або зменшити лише необроблений
файлу, або виконайте багатофайлове скорочення файлу та його транзитивних включень (або
будь-яка їх підмножина). У першому випадку потрібно встановити CREDUCE_INCLUDE_PATH
змінної середовища до списку включних каталогів, розділених двокрапкою
clang_delta, щоб знайти їх.
Якщо ваш тест на цікавість включає перехресний компілятор і характеристики
перехресна ціль відрізняється від хоста, вам потрібно встановити CREDUCE_TARGET_TRIPLE, щоб відповідати
перехресна ціль. Це особливо важливо, якщо ви працюєте з необробленим кодом
і використовуйте CREDUCE_INCLUDE_PATH.
Натисніть "s" в будь-який час, щоб перейти до наступного проходу (ця функція вимкнена, якщо Perl
модуль Term::ReadKey доступний у вашій системі).
Підсумки of опції:
--додати-пас
Додайте вказану перепустку до розкладу
-- також цікаво
Код завершення процесу (десь у діапазоні 64-113 буде звичайним), що, коли
Повернута тестом на цікавість, призведе до збереження копії C-Reduce
варіант [за замовчуванням: -1]
--відлагоджувати
Роздрукувати інформацію про налагодження
--померти при передачі помилки
Припиніть C-Reduce, якщо пропуск зіткнеться з проблемою, яка в іншому випадку не є фатальною
--максимальне покращення
Найбільше покращення розміру файлу від однієї трансформації, яку має C-Reduce
прийняти (корисно лише для уповільнення C-Reduce вниз)
--н
Кількість ядер для використання; C-Reduce намагається автоматично вибрати гарне налаштування, але так
вибір може бути занадто низьким або високим для вашої ситуації [за замовчуванням: 2]
--no-default-pass
Почніть з порожнього графіка проходження
--не здаватися
Не відмовляйтеся від проходження, яке не досягло прогресу протягом 50000 XNUMX ітерацій
--nokill
Зачекайте, поки паралельні екземпляри закінчаться самостійно, а не вбивати їх (тільки
корисно для налагодження)
--print-diff
Показати зміни, внесені перетвореннями, для налагодження
-- дезінфікувати
Спробуйте приховати деталі з вихідного файлу
--save-temps
Не видаляйте /tmp/creduce-x каталоги про припинення
--шаддап
Придушити вихідну інформацію про нефатальні внутрішні помилки
--skip-initial-pass
Пропускати початкові проходи (корисно, якщо введення вже частково зменшено)
--пропуск ключ-вимкнення
Вимкнути пропуск решти поточного проходу при натисканні «s».
--повільно
Намагайтеся більше зменшити, але, можливо, це займе багато часу
--охайний Не робіть резервну копію кожного файлу, щоб зменшити його як file.orig
-- терміни
Надрукуйте часові позначки про хід скорочення
використання: creduce [параметри] testingness_test file_to_reduce [за бажанням, більше файлів для
зменшити]
скорочення --допомога для отримання додаткової інформації
Використовуйте creduce онлайн за допомогою служб onworks.net