англійськафранцузькаіспанська

Ad


Значок OnWorks

m4posix - онлайн у хмарі

Запустіть m4posix у безкоштовному хостинг-провайдері OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда m4posix, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


m4 — макропроцесор

СИНТАКСИС


m4 [−s] [−D ім'я[=Val]]... [−У ім'я]... файл...

ОПИС


Команда m4 утиліта — це макропроцесор, який читає один або декілька текстових файлів, обробляє їх
відповідно до включених макросів і виведіть результати до стандартного виводу.

ВАРІАНТИ


Команда m4 утиліта повинна відповідати тому Base Definitions POSIX.1-2008, розділ 12.2,
Утиліта синтаксис керівні вказівки, за винятком того, що порядок в −D та −У варіанти повинні бути
значущі, а параметри можуть перемежовуватися операндами.

Підтримуються такі варіанти:

−s Увімкнути вихід синхронізації лінії для c99 етап препроцесора (тобто
#лінія директиви).

−D ім'я[=Val]
Визначте ім'я до Val або на нуль, якщо =Val опускається.

−У ім'я Невизначити ім'я.

ОПЕРАНДИ


Підтримується наступний операнд:

файл Шлях до текстового файлу для обробки. Якщо ні файл дається, або якщо є '−',
стандартний вхід повинен бути прочитаний.

STDIN


Стандартним введенням має бути текстовий файл, який використовується, якщо ні файл заданий операнд, або якщо він
is '−'.

ВХІД ФАЙЛИ


Вхідний файл із назвою файл операнд має бути текстовим файлом.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ


Наступні змінні середовища мають впливати на виконання m4:

МОВА Надайте значення за замовчуванням для змінних інтернаціоналізації, які не встановлені або
нуль. (Дивіться том Base Definitions POSIX.1-2008, розділ 8.2,
Internationalization Змінні за пріоритет інтернаціоналізації
змінні, що використовуються для визначення значень категорій мовного стандарту.)

LC_ALL Якщо встановлено не порожнє значення рядка, замініть значення всіх інших
змінні інтернаціоналізації.

LC_CTYPE Визначте локаль для інтерпретації послідовностей байтів текстових даних
як символи (наприклад, однобайтові на відміну від багатобайтових символів у
аргументи та вхідні файли).

LC_MESSAGES
Визначте місцевий стандарт, який слід використовувати для впливу на формат і вміст
діагностичні повідомлення, записані у стандартну помилку.

NLSPATH Визначте розташування каталогів повідомлень для обробки LC_MESSAGES.

АСИНХРОННИЙ ПОДІЇ


За замовчуванням.

ВИСТАВКА


Стандартний вихід має бути таким самим, як і вхідні файли, після обробки для макросу
розширення.

STDERR


Стандартна помилка повинна використовуватися для відображення рядків із errprint макрос, трасування макросу
увімкнено traceon макрос, визначений текст для макросів, написаних dumpdef макрос, або
для діагностичних повідомлень.

ВИХІД ФАЙЛИ


Ні.

ПОВЕРНЕНІ ОПИС


Команда m4 утиліта порівнює кожен маркер із вхідних даних із набором вбудованих і
макроси, визначені користувачем. Якщо токен відповідає назві макросу, то токен має відповідати
замінюється визначальним текстом макросу, якщо такий є, і повторно сканується на відповідність імен макросу.
Якщо жодна частина токена не відповідає назві макросу, його слід записати до стандарту
вихід. Макроси можуть мати аргументи, і в цьому випадку аргументи повинні бути замінені
визначальний текст перед повторним скануванням.

Виклики макросу мають вигляд:

ім'я(arg1, arg2, ..., арг)

Імена макросів складаються з літер, цифр і підкреслення, де перший символ
не є цифрою. Токени не цієї форми не повинні розглядатися як макроси.

Заявка повинна гарантувати, що відразу слідує за назвою
макрос. Якщо за маркером, який відповідає назві макросу, не стоїть a
parenthesis>, він обробляється як використання цього макросу без аргументів.

Якщо після назви макросу стоїть a , його аргументами є
-розділені лексеми між в і відповідність
дужка>. Пробіли без лапок перед кожним аргументом ігноруються.
Усі інші символи, включно з кінцевими пробілами, зберігаються.
символів, укладених між і символів немає
розмежувати аргументи.

Аргументи позиційно визначені та на них посилаються. Рядок "$1" у визначальному тексті
замінюється першим аргументом. Системи повинні підтримувати принаймні дев'ять аргументів;
лише на перші дев'ять можна посилатися за допомогою рядків "$1" до "$9", включно. The
рядок "$0" замінюється назвою макросу. Рядок "$#" замінюється на
кількість аргументів у вигляді рядка. Рядок "$*" замінюється списком усіх
аргументи, розділені персонажів. Рядок "$@" замінюється списком усіх
аргументів, розділених символів, і кожен аргумент взято в лапки за допомогою
поточні рядки лівих і правих лапок. Рядок "${" створює невизначену поведінку.

Якщо подано менше аргументів, ніж у визначенні макросу, пропущені аргументи
вважаються нульовими. Це не помилка, якщо подано більше аргументів, ніж у
визначення макросу.

Ніякого особливого значення не надається будь-яким символам, укладеним між відповідними лівим і правим
рядки в лапках, але самі рядки в лапках відкидаються. За замовчуванням ліворуч
рядок лапок складається з глибокого наголосу (зворотної лапки) і правого рядка лапок
складається з гострого наголосу (одинарні лапки); див. також змінити цитату макрос.

Коментарі записуються, але не скануються на відповідність імен макросів; за замовчуванням початок-
рядок коментаря складається з символ і рядок кінцевого коментаря складається
з a . Дивіться також changecom та dnl макроси.

Команда m4 Утиліта має зробити доступними наступні вбудовані макроси. Їх можна перевизначити,
але як тільки це зроблено, початкове значення втрачається. Їхні значення мають бути нульовими, якщо тільки
інакше зазначено. У наведених нижче описах термін визначаючи текст відноситься до значення
макрос: другий аргумент для визначати макрос, серед іншого. За винятком
перший аргумент до евал макрос, усі числові аргументи для вбудованих макросів мають бути
інтерпретуються як десяткові значення. Рядкові значення створені як визначальний текст
декр, divnum, інкр, індекс, довжина та sysval вбудовані макроси мають бути у формі a
десяткова константа, як визначено мовою C.

changecom Команда changecom макрос встановлює рядки початкового та кінцевого коментаря. З ні
аргументів, механізм коментарів має бути вимкнено. З єдиним ненульовим
аргумент, цей аргумент стане починаючим коментарем і повинні
стати кінцевим рядком коментаря. З двома ненульовими аргументами, перший аргумент
стане рядком початкового коментаря, а другий аргумент стане
рядок кінцевого коментаря. Поведінка не визначена, якщо надано будь-який аргумент
але нульовий. Системи повинні підтримувати рядки коментарів щонайменше з п’яти символів.

змінити цитату
Команда змінити цитату макрос встановлює рядки початкових і кінцевих лапок. З ні
аргументів, рядки в лапках мають бути встановлені на значення за замовчуванням (тобто `').
Поведінка не визначена, якщо є один або будь-який аргумент
нуль. З двома ненульовими аргументами перший аргумент стане початком
рядок лапок, а другий аргумент має стати кінцевим рядком лапок. Системи
має підтримувати рядки лапок щонайменше з п’яти символів.

декр Визначальний текст ст декр макрос має бути його першим аргументом, зменшеним на
1. Буде помилкою вказувати аргумент, що містить будь-які нечислові значення
персонажів. Поведінка не визначена, якщо декр не слідує відразу
a .

визначати Другий аргумент стане визначальним текстом макросу, ім'я якого є
перший аргумент. Не уточнюється, чи визначати макрос видаляє всі попередні
визначення макросу, названого його першим аргументом, або зберігає всі, крім
поточне визначення макросу. Поведінка не визначена, якщо визначати НЕ
відразу після a .

деф Визначальний текст ст деф макрос має бути цитованим визначенням (з використанням
поточні рядки в лапках) своїх аргументів. Поведінка не визначена, якщо деф
не слідує одразу за a .

переадресація Команда m4 утиліта підтримує дев'ять тимчасових буферів, пронумерованих від 1 до 9 включно.
Коли оброблено останній вхід, будь-який вихід, який було розміщено
у цих буферах має бути записаний на стандартний вихід у буферно-числовому порядку.
Команда переадресація макрос перенаправлятиме майбутній вихід до буфера, визначеного його
аргумент. Зазначення відсутності аргументу або аргументу 0 відновить звичайний стан
процес виведення. Вихідні дані перенаправляються в потік із від’ємним числом
відкинуто. Поведінка визначається реалізацією, якщо номер потоку перевищує 9
вказано. Буде помилкою вказувати аргумент, що містить будь-які не-
цифрові символи.

divnum Визначальний текст ст divnum макрос має бути номером поточного виходу
потік як рядок.

dnl Команда dnl макрос викликає m4 щоб відхилити всі введені символи до включно
наступний .

dumpdef Команда dumpdef макрос записує визначений текст із стандартною помилкою для кожного з
макроси, указані як аргументи, або, якщо аргументи не вказані, для всіх
макроси.

errprint Команда errprint макрос записує свої аргументи до стандартної помилки. Поведінка є
невизначений якщо errprint не слідує одразу за a .

евал Команда евал макрос має обчислювати свій перший аргумент як арифметичний вираз,
використовуючи знакову цілу арифметику з принаймні 32-бітною точністю. Принаймні
наступні оператори мови C повинні підтримуватися з пріоритетом,
асоціативність і поведінку, як описано в розділ 1.1.2.1, Арифметика
Точність та операції:

()
одинарний +
одинарний -
~

!
двійковий *
/
%
двійковий +
двійковий −
<<
>>
<
<=
>
>=
==
!=
двійковий &
^
|
&&
||

Системи повинні підтримувати вісімкові та шістнадцяткові числа відповідно до стандарту ISO C.
Другий аргумент, якщо вказано, має встановити основу для результату; якщо
аргумент порожній або не визначений, за замовчуванням 10. Поведінка не визначена, якщо
основа виходить за межі діапазону від 2 до 36 включно. Третій аргумент, якщо
заданий, встановлює мінімальну кількість цифр у результаті. Поведінка є
не визначено, якщо третій аргумент менше нуля. Це буде помилкою
вкажіть другий або третій аргумент, що містить будь-які нечислові символи. The
поведінка не визначена, якщо евал не слідує одразу за a
дужка>.

ifdef Якщо перший аргумент до ifdef макрос визначено, має бути визначальний текст
другий аргумент. В іншому випадку третім аргументом буде визначальний текст,
якщо вказано, або нульовий рядок, якщо ні. Поведінка не визначена, якщо ifdef
не слідує одразу за a .

ifelse Команда ifelse Макрос приймає три або більше аргументів. Якщо перші два аргументи
порівняти як рівні рядки (після макророзкриття обох аргументів), визначальний
текст має бути третім аргументом. Якщо перші два аргументи не порівнюються як
рівні рядки та є три аргументи, визначальний текст має бути нульовим. Якщо
перші два аргументи не порівнюються як рівні рядки, і є чотири або
п'ять аргументів, визначальним текстом буде четвертий аргумент. Якщо перші два
аргументи не порівнюються як рівні рядки, і є шість або більше аргументів,
перші три аргументи повинні бути відкинуті, а обробка повинна початися заново
решта аргументів. Поведінка не визначена, якщо ifelse НЕ
відразу після a .

включати Визначальний текст для включати макрос має бути вмістом файлу з назвою
за першим аргументом. Якщо файл неможливо прочитати, це буде помилка. The
поведінка не визначена, якщо включати не слідує одразу за a
дужка>.

інкр Визначальний текст ст інкр макрос має бути його першим аргументом, збільшеним на
1. Буде помилкою вказувати аргумент, що містить будь-які нечислові значення
персонажів. Поведінка не визначена, якщо інкр не слідує відразу
a .

індекс Визначальний текст ст індекс макрос має бути першою позицією символу (як a
рядок) у першому аргументі, де починається рядок, що відповідає другому аргументу
(нульове походження) або −1, якщо другий аргумент не зустрічається. Поведінка є
невизначений якщо індекс не слідує одразу за a .

довжина Визначальний текст ст довжина макрос має бути довжиною (у вигляді рядка)
перший аргумент. Поведінка не визначена, якщо довжина слідує не відразу
від a .

m4exit Вихід з m4 корисність. Якщо вказано перший аргумент, це вихід
код. За умовчанням дорівнює нулю. Вказувати аргумент буде помилкою
містить будь-які нечислові символи.

m4wrap Перший аргумент має бути оброблений, коли досягнуто EOF. Якщо m4wrap макрос
використовується кілька разів, зазначені аргументи мають бути оброблені в порядку
в якій m4wrap макросів оброблено. Поведінка не визначена, якщо m4wrap
не слідує одразу за a .

зробити темп Визначальний текст має бути першим аргументом із будь-яким закінченням 'X' символи
замінено ідентифікатором поточного процесу у вигляді рядка. Поведінка не визначена
if зробити темп не слідує одразу за a .

mkstemp Перший аргумент береться як шаблон для створення порожнього файлу, з
трейлінг 'X' символи, замінені символами з назви переносного файлу
набір символів. Поведінка не визначена, якщо перший аргумент не закінчується на
щонайменше шість 'X' персонажів. Якщо тимчасовий файл створено успішно, тоді
визначальним текстом макросу є ім'я нового файлу. Ідентифікатор користувача
файлу має бути встановлено ефективний ідентифікатор користувача процесу. Ідентифікатор групи
файлу має бути встановлено ідентифікатор групи батьківського каталогу файлу або to
ідентифікатор ефективної групи процесу. Установлено біти дозволу доступу до файлу
таким чином, що лише власник може як читати, так і записувати файл, незалежно від
ток умаск процесу. Якщо файл не вдалося створити, визначальний текст
макросу має бути порожнім рядком. Поведінка не визначена, якщо mkstemp
не слідує одразу за a .

popdef Команда popdef макрос видаляє поточне визначення своїх аргументів, замінюючи
це визначення з попереднім. Якщо попереднього визначення немає, то
макрос не визначено. Поведінка не визначена, якщо popdef не відразу
а потім a .

pushdef Команда pushdef макрос має бути еквівалентним визначати макрос за винятком
що він повинен зберігати будь-яке поточне визначення для майбутнього пошуку за допомогою
popdef макрос. Поведінка не визначена, якщо pushdef слідує не відразу
від a .

зсув Визначальний текст для зсув макрос має бути розділеним комами його списком
аргументів, крім першого. Кожен аргумент повинен бути взятий в лапки з використанням поточного
цитування рядків. Поведінка не визначена, якщо зсув не відразу
а потім a .

sinclude Команда sinclude макрос має бути еквівалентним включати макрос, крім того, що це
не буде помилкою, якщо файл недоступний. Поведінка не визначена
if sinclude не слідує одразу за a .

субстр Визначальний текст для субстр макрос має бути підрядком першого
аргумент починається з позиції символу нульового зсуву, визначеної секундою
аргумент. Третій аргумент, якщо вказано, має бути кількістю символів до
вибрати; якщо не вказано, символи від початкової точки до кінця
перший аргумент стане визначальним текстом. Це не повинно бути помилкою
вкажіть початкову точку після кінця першого аргументу та визначення
текст має бути нульовим. Буде помилкою вказувати аргумент, що містить будь-який
нечислові символи. Поведінка не визначена, якщо субстр НЕ
відразу після a .

syscmd Команда syscmd макрос повинен інтерпретувати свій перший аргумент як командний рядок оболонки. The
визначальний текст має бути результатом рядка цієї команди. Результат рядка
не слід повторно сканувати макроси під час встановлення визначального тексту. Немає виходу
перенаправлення виконується m4 корисність. Значення статусу виходу з
команду можна отримати за допомогою sysval макрос. Поведінка не визначена, якщо
syscmd не слідує одразу за a .

sysval Визначальний текст ст sysval макрос має бути вихідним значенням утиліти
останній викликав syscmd макрос (у вигляді рядка).

traceon Команда traceon макрос повинен увімкнути трасування для макросів, указаних як аргументи,
або, якщо аргументи не вказано, для всіх макросів. Вихід трасування має бути
записаний зі стандартною помилкою в невизначеному форматі.

трасування Команда трасування макрос повинен вимкнути трасування для макросів, указаних як аргументи,
або, якщо аргументи не вказано, для всіх макросів.

трансліт Визначальний текст ст трансліт макрос має бути першим аргументом кожного
символ, який зустрічається у другому аргументі, замінюється на відповідний
символ із третього аргументу. Якщо символ заміни не вказано для
якийсь вихідний символ, оскільки другий аргумент довший за третій
цей символ буде видалено з першого аргументу в трансліт's
визначальний текст. Поведінка не визначена, якщо '−' персонаж з'являється всередині
другий або третій аргумент будь-де, крім першого або останнього символу. The
поведінка не визначена, якщо той самий символ з'являється більше одного разу в
другий аргумент. Поведінка не визначена, якщо трансліт не відразу
а потім a .

undefine Команда undefine макрос видаляє всі визначення (включно з тими, що зберігаються за допомогою
pushdef макрос) з макросів, названих його аргументами. Поведінка є
невизначений якщо undefine не слідує одразу за a .

перенаправити Команда перенаправити макрос має негайно виводити будь-який текст у тимчасових буферах
названі як аргументи, або всі тимчасові буфери, якщо аргументи не вказано.
Буфери можна не перенаправляти в інші тимчасові буфери. Невідволікання повинно
видалити вміст тимчасового буфера. Поведінка не визначена, якщо an
аргумент містить будь-які нечислові символи.

EXIT СТАТУС


Повинні бути повернуті такі вихідні значення:

0 Успішне завершення.

>0 Сталася помилка

Якщо m4exit використовується макрос, вихідне значення можна вказати у вхідному файлі.

НАСЛІДКИ OF ПОМИЛКИ


За замовчуванням.

Команда після розділам він має інформативний.

ЗАСТОСУВАННЯ ВИКОРИСТАННЯ


Команда деф макрос корисний для перейменування макросів, особливо вбудованих.

З евал відповідає стандарту ISO C, деякі операції мають невизначену поведінку. В деяких
реалізації, ділення або залишок на нуль викликають фатальний сигнал, навіть якщо ділення
виникає на короткозамкненій гілці "&&" or "||". Будь-яка операція, яка переповнюється
арифметика зі знаком створює невизначену поведінку. Так само, використовуючи зсув оператори з a
величина зсуву, яка не є позитивною та меншою за точність, не визначена, як є
зсув від'ємного числа вправо. Історично не всі реалізації підкорялися C-
правила пріоритету мови: '~' та '!' були нижчі, ніж '=='; '==' та '!=' не були нижчими
ніж '<'І '|' була не нижче ніж '^'; вільне використання "()" може змусити бажане
пріоритет навіть із цими невідповідними реалізаціями. Крім того, деякі традиційні
реалізації оброблених '^' як оператор піднесення до степеня, хоча більшість реалізацій
тепер використовуйте "**" як розширення для цієї мети.

Коли макрос було визначено множенням за допомогою pushdef макрос, не уточнюється чи
визначати макрос змінить лише останнє визначення (як би popdef та
pushdef), або замінити весь стек визначень одним визначенням (начебто
by undefine та pushdef). Програма, яка потребує особливої ​​поведінки для визначати
макрос у цьому випадку може перевизначити його відповідно.

Програми повинні використовувати mkstemp макрос замість застарілого зробити темп макрос для
створення тимчасових файлів.

ПРИКЛАДИ


Якщо файл m4src містить рядки:

Команда значення of `VER' is "VER".
ifdef(`VER', ``VER'' is певний до be ВЕР., РЕД is НЕ визначений.)
ifelse(VER, 1, ``VER'' is `VER'.)
ifelse(VER, 2, ``VER'' is `VER'., ``VER'' is НЕ 2).
кінець

потім команда

m4 m4src

або команда:

m4 −У РЕД m4src

видає результат:

Команда значення of РЕД is "VER".
РЕД is НЕ визначений.

VER не 2.
кінець

Команда:

m4 −D РЕД m4src

видає результат:

Команда значення of РЕД is "".
РЕД is певний до be .

VER не 2.
кінець

Команда:

m4 −D VER=1 m4src

видає результат:

Команда значення of РЕД is "1".
РЕД is певний до be 1.
РЕД is 1.
РЕД is НЕ 2.
кінець

Команда:

m4 −D VER=2 m4src

видає результат:

Команда значення of РЕД is "2".
РЕД is певний до be 2.

VER дорівнює 2.
кінець

ОБГОВОРЕННЯ


Історичну поведінку на основі System V оброблено "${" у визначенні макросу як два літерали
персонажів. Однак ця послідовність залишається невизначеною, тому реалізації можуть пропонуватися
розширення, такі як "${11}" означає одинадцятий позиційний параметр. Макроси ще можуть бути
визначено за допомогою відповідного використання вкладених лапок, щоб отримати літерал "${" на виході
після повторного сканування видаляє вкладені лапки.

У трансліт оброблено вбудовану історичну поведінку на основі System V '−' як буквальне; GNU
поведінка розглядає його як діапазон. Ця версія стандарту допускає будь-яку поведінку.

Майбутнє НАПРЯМКИ


Ні.

Використовуйте m4posix онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Phaser
    Phaser
    Phaser — це швидке, безкоштовне та веселе відкриття
    вихідний ігровий фреймворк HTML5, який пропонує
    Взаємовідображення WebGL і Canvas
    настільні та мобільні веб-браузери. Ігри
    можна спільно...
    Завантажити Phaser
  • 2
    Двигун ВАССАЛ
    Двигун ВАССАЛ
    VASSAL — ігровий движок для створення
    електронні версії традиційної дошки
    і карткові ігри. Він забезпечує підтримку для
    рендеринг і взаємодія ігрових елементів,
    і ...
    Завантажити VASSAL Engine
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF - це бібліотека Java для створення
    і редагування файлів PDF за допомогою LGPL і
    Ліцензія з відкритим кодом MPL. OpenPDF - це
    LGPL/MPL з відкритим кодом наступник iText,
    має ...
    Завантажте OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Система для автоматизації
    Географічні аналізи - це географічні
    Програмне забезпечення інформаційної системи (ГІС) с
    величезні можливості для геоданих
    обробка та ана...
    Завантажити SAGA GIS
  • 5
    Панель інструментів для Java/JTOpen
    Панель інструментів для Java/JTOpen
    IBM Toolbox для Java / JTOpen є a
    бібліотека класів Java, що підтримують
    програмування клієнт/сервер та Інтернет
    моделі до системи під керуванням OS/400,
    i5/OS, o...
    Завантажте Toolbox для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (або D3 для документів, керованих даними)
    це бібліотека JavaScript, яка дозволяє вам
    створювати динамічні інтерактивні дані
    візуалізації у веб-браузерах. З D3
    ти ...
    Завантажити D3.js
  • Детальніше »

Команди Linux

  • 1
    abidiff
    abidiff
    abidiff - порівняння ABI файлів ELF
    abidiff порівнює двійковий файл програми
    Інтерфейси (ABI) двох спільних бібліотек
    у форматі ELF. Воно випромінює змістовне
    звіт...
    Запустіть abidiff
  • 2
    abidw
    abidw
    abidw - серіалізує ABI ELF
    файл abidw читає спільну бібліотеку в ELF
    форматує та створює представлення XML
    свого ABI до стандартного виводу. The
    випущений ...
    Запустіть abidw
  • 3
    copac2xml
    copac2xml
    bibutils - перетворення бібліографії
    комунальні послуги ...
    Запустіть copac2xml
  • 4
    копт
    копт
    copt - оптимізатор вічка SYSNOPIS:
    файл copt.. ОПИС: copt - це a
    оптимізатор вічко загального призначення. Це
    читає код зі свого стандартного вводу та
    пише...
    Біг копт
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - заголовок збірки
    декларації з документів Stx ...
    Запустіть gather_stx_titles
  • 6
    гатлінг-бенч
    гатлінг-бенч
    bench - http benchmark ...
    Лава для бігу Гатлінга
  • Детальніше »

Ad