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

Ad


Значок OnWorks

haserl - онлайн в хмарі

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

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

ПРОГРАМА:

ІМ'Я


haserl - CGI-скриптова програма для вбудованих середовищ

СИНТАКСИС


#!/usr/bin/haserl [--shell=pathspec] [--upload-dir=dirspec] [--upload-handler=обробник]
[--upload-limit=обмежувати] [--accept-all] [--accept-none] [--тихий] [--відлагоджувати]

[ текст ] [ <% сценарій оболонки %> ] [ текст ] ...

ОПИС


Haserl — це невелика обгортка cgi, яка дозволяє програмувати cgi в стилі «PHP», але використовує UNIX
Bash-подібна оболонка або Lua як мова програмування. Він дуже маленький, тому його можна використовувати
у вбудованих середовищах або там, де щось на зразок PHP є занадто великим.

Він поєднує три функції в невеликому движку cgi:

Він аналізує запити POST і GET, розміщуючи елементи форми як пари ім’я=значення в
середовище для використання сценарію CGI. Це чимось схоже на uncgi обгортка

Він відкриває оболонку та перекладає весь текст у друковані оператори. Весь текст
в межах <% ... %> конструкції передаються дослівно в оболонку. Це дещо
як писати PHP скриптів.

Його можна за бажанням встановити, щоб передати свої дозволи власнику сценарію,
надавши йому деякі функції безпеки suexec or cgiwrapper.

ВАРІАНТИ РЕЗЮМЕ


Це короткий опис параметрів командного рядка. Будь ласка, дивіться ВАРІАНТИ розділ під
довга назва параметра для повного опису.

-a --прийняти-всі
-n --приймаю-нічого
-d --налагодження
-s, --оболонка
-S, --мовчазний
-U, --завантажити-каталог
-u, --upload-limit
-H, --обробник завантаження

ВАРІАНТИ


--прийняти-всі
Зазвичай програма приймає дані POST тільки тоді, коли REQUEST_METHOD є POST і
приймає дані про дані URL-адреси лише тоді, коли REQUEST_METHOD має значення GET. Цей варіант
дозволяє приймати дані як POST, так і URL незалежно від REQUEST_METHOD.
Коли цей параметр встановлено, REQUEST_METHOD має пріоритет (наприклад, якщо метод
є POST, FORM_змінні беруться з даних COOKIE, даних GET та даних POST, у
той порядок. Якщо метод GET, FORM_змінні беруться з даних COOKIE, POST
data та GET data.) За замовчуванням не приймається всі методи введення, а лише
Дані COOKIE і REQUEST_METHOD.

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

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

--shell=pathspec
Вкажіть альтернативну оболонку, подібну до bash. За замовчуванням "/ Бен / ш"

Щоб включити параметри оболонки, не використовуйте --shell=/ Бен / ш формат. Замість цього використовуйте
альтернативний формат без "=", як у --shell "/ bin / bash --norc". Обов'язково
введіть рядок параметра в лапки, щоб захистити будь-які спеціальні символи.

Якщо скомпільовано з бібліотеками Lua, то рядок "lua" використовується для використання інтегрованого
Lua vm. Цей рядок чутливий до регістру. приклад: --shell=місяць

Альтернативою є "luac". Це призводить до відключення синтаксичних аналізаторів haserl і lua,
і передбачається, що сценарій є попередньо скомпільованим фрагментом lua. Побачити LUAC нижче, щоб дізнатися більше
інформація.

-- мовчазний
Haserl зазвичай друкує інформаційне повідомлення про умови помилки. Це
пригнічує повідомлення про помилку, тому використання haserl не афішується.

--upload-dir=dirspec
За замовчуванням "/ Tmp". Усі завантажені файли створюються з тимчасовим ім'ям файлу
каталог HASERL_xxx_path містить ім'я тимчасового файлу. FORM_xxx_name
містить оригінальне ім'я файлу, як зазначено клієнтом.

--upload-handler=pathspec
Якщо вказано, завантаження файлів обробляється цим обробником, а не записується в нього
тимчасові файли. Необхідно вказати повну специфікацію шляху (PATH не шукається), і
обробнику завантаження надається один параметр командного рядка: ім'я FIFO on
на який буде надіслано завантажений файл. Крім того, обробник може отримати 3
змінні середовища: CONTENT_TYPE, ФІЛЕНАМ та ІМ'Я. Вони відображають MIME
заголовки content-disposition для вмісту. Haserl роздвоє обробник для кожного
завантажений файл, і надішле вміст завантаженого файлу до вказаного FIFO.
Тоді Haserl блокуватиме, доки обробник не завершить роботу. Цей метод призначений для експертів
тільки.

--upload-limit=обмежувати
Дозволити файл із MIME-кодуванням до обмежувати KB для завантаження. За замовчуванням є 0KB (ні
дозволено завантаження). Зверніть увагу, що MIME-кодування додає 33% до розміру даних.

ОГЛЯД OF РОБОТА


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

If хазерл встановлюється suid root, тоді uid/gid встановлюється власником скрипту.

Середовище сканується на наявність HTTP_COOKIES, який, можливо, був встановлений Інтернетом
сервер. Якщо він існує, аналізований вміст розміщується в локальному середовищі.

Середовище сканується на наявність ЗАПИТ_МЕТОД, який був встановлений веб-сервером.
На основі методу запиту стандартний вхід зчитується та аналізується. Розібраний
вміст розміщується в локальному середовищі.

Сценарій токенізований, розбір хазерл блоки коду з необробленого тексту. Необроблений текст є
перетворюється в оператори "echo", а потім усі токени надсилаються до підоболонки.

хазерл вилки та додаткова оболонка (зазвичай / Бен / ш) розпочато.

Усі маркери надсилаються до STDIN підоболонки із закінченням вихід команда

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

КЛІЄНТ САЙТ ВХІД


Команда хазерл інтерпретатор буде декодувати дані, надіслані через змінну середовища HTTP_COOKIE, і
метод GET або POST від клієнта і зберігати їх як змінні середовища, які можуть
доступний для haserl. Ім'я змінної слідує за ім'ям, зазначеним у джерелі,
крім того, що префікс ( ФОРМА_) стоїть на початку. Наприклад, якщо клієнт надсилає "foo=bar",
змінна середовища є FORM_foo=бар.

Для методу HTTP_COOKIE змінні також зберігаються з префіксом ( COOKIE_) додано.
Наприклад, якщо HTTP_COOKIE містить "foo=bar", змінна середовища є
COOKIE_foo=бар.

Для методу GET дані, надіслані у формі %xx, перекладаються в символи, які вони надсилають
представляють, а змінні також зберігаються з префіксом ( GET_) додано. Наприклад, якщо
QUERY_STRING містить "foo=bar", змінна середовища - це GET_foo=бар.

Для методу POST змінні також зберігаються з префіксом ( POST_) додано. Для
наприклад, якщо допис містить "foo=bar", змінна середовища є POST_foo=бар.

Також для методу POST, якщо дані надсилаються за допомогою багаточастинні / форми-дані кодування,
дані автоматично декодуються. Зазвичай це використовується, коли файли завантажуються з Інтернету
клієнт використовує .

ПРИМІТКА Коли файл завантажується на веб-сервер, він зберігається в файлі завантажити-каталог
каталог. ФОРМА_ім'я_змінної= містить назву завантаженого файлу (як
вказано клієнтом.) Шлях_змінної HASERL= містить ім'я файлу в
завантажити-каталог який містить завантажений вміст. Щоб запобігти зловмисним клієнтам
заповнення завантажити-каталог на вашому веб-сервері завантаження файлів дозволено лише за умови
--upload-limit Параметр використовується для визначення розміру файлу, який можна завантажити. Хазерл
автоматично видаляє тимчасовий файл після завершення сценарію. Щоб зберегти
файл, перемістіть його або перейменуйте кудись у сценарії.

Зверніть увагу, що ім’я файлу зберігається в HASERL_змінний_шлях Це тому, що ФОРМА_,
Змінні GET_ і POST_ можуть змінюватися клієнтом, а шкідливий клієнт може
встановити другу змінну з іменем шлях_змінної=/ etc / passwd. Попередні версії
не зберіг специфікацію шляху HASERL простір імен. До підтримувати назад
сумісність, ім'я of тимчасовий файл is Також зберігати in ФОРМА_змінна= та
POST_змінна=. це is вважається небезпечно та Повинен НЕ be використаний

Якщо клієнт надсилає дані обидва за допомогою методів POST і GET хазерл буде аналізувати тільки
дані, які відповідають ЗАПИТ_МЕТОД змінна, встановлена ​​веб-сервером, якщо не
прийняти-все була встановлена ​​опція. Наприклад, форма, викликана за допомогою методу POST, але має a
URI some.cgi?foo=bar&otherdata=something буде аналізувати дані POST, а Foo
та інші дані змінні ігноруються.

Якщо веб-сервер визначає a HTTP_COOKIES змінної середовища, дані cookie аналізуються.
Дані файлів cookie аналізуються перед тим дані GET або POST, тому у випадку двох змінних
те саме ім’я, дані GET або POST перезаписують інформацію cookie.

Коли кілька екземплярів однієї змінної надсилаються з різних джерел, файл
FORM_variable буде встановлено відповідно до порядку, в якому обробляються змінні.
HTTP_COOKIE завжди обробляється спочатку, а потім REQUEST_METHOD. Якщо прийняти-все
було встановлено, то спочатку обробляється HTTP_COOKIE, а потім метод ні
визначається REQUEST_METHOD, а потім REQUEST_METHOD. Останній екземпляр
змінна буде використовуватися для встановлення FORM_variable. Зверніть увагу, що змінні також окремо
створює як COOKIE_variable, GET_variable і POST_variable. Це дозволяє використовувати
збігаються імена з кожного джерела.

Коли кілька екземплярів однієї змінної надсилаються з одного джерела, тільки остання
один врятований. Щоб зберегти всі копії (наприклад, для множинного вибору), додайте «[]» в кінець
імені змінної. Усі результати будуть повернені, розділені новими рядками. Наприклад,
host=Enoch&host=Esther&host=Joshua призводить до "FORM_host=Joshua".
host[]=Enoch&host[]Esther&host[]=Joshua призводить до "FORM_host=Enoch\nEsther\nJoshua"

МОВА


Наступні мовні структури розпізнаються хазерл.

RUN
<% [скрипт оболонки] %>

Все, що укладено тегами <% %>, надсилається на виконання в підоболонку. Текст
надсилається дослівно.

ВКЛЮЧАТИ
<%in pathspec %>

Включіть дослівно інший файл до цього сценарію. Файл включається, коли скрипт
спочатку аналізується.

ВІЙСЬКІ
<%= вираз %>

надрукувати вираз оболонки. Синтаксичний цукор для "echo expr".

ЯК
<%# коментар %>

Блок коментарів. Все в блоці коментарів не аналізується. Коментарі можуть бути вкладеними
і може містити інші елементи haserl.

ПРИКЛАДИ


УВАГА
Наведені нижче приклади спрощено, щоб показати, як користуватися хазерл. Ви повинні бути
перед використанням ознайомитися з основними правилами безпеки веб-скриптів хазерл (або будь-який сценарій
мова) у виробничому середовищі.

простий Command
#!/usr/local/bin/haserl
Тип вмісту: текст/звичайний

<%# Це зразок сценарію "env" %>
<% env %>

Друкує результати env команду як "текстовий/звичайний" документ типу mime. Це
хазерл версія загального printenv cgi.

Цикл з динамічний вихід
#!/usr/local/bin/haserl
Тип вмісту: текст/html




<% для a в червоний синій жовтий блакитний; зробити %>
"><% echo -n "$a" %>
<% виконано %>




Надсилає клієнту документ типу mime "text/html" з таблицею html із
елементів, позначених кольором фону.

Скористайтесь Склад певний функції.
#!/usr/local/bin/haserl
Тип вмісту: текст/html

<% # визначити функцію користувача
table_element() {
луна" $1 "
}
%>



<% для a в червоний синій жовтий блакитний; зробити %>
<% table_element $a %>
<% виконано %>




Те саме, що і вище, але використовує функцію оболонки замість вбудованого html.

Self Довідкова інформація CGI з a форма
#!/usr/local/bin/haserl
Тип вмісту: текст/html


Зразок форми
" method="GET">
<% # Виконайте базову перевірку поля FORM_text
# Щоб запобігти поширеним веб-атакам
FORM_textfield=$( echo "$FORM_textfield" | sed "s/[^A-Za-z0-9 ]//g" )
%>
<input type=text name=textfield
Значення="<% echo -n "$FORM_textfield" | tr az AZ %>" cols=20>




Друкує форму. Якщо клієнт вводить текст у форму, CGI перезавантажується (визначається
by $SCRIPT_NAME), а текстове поле очищається, щоб запобігти веб-атакам, потім
форма знову відображається з текстом, який ввів користувач. Текст пишеться великими літерами.

Завантаження a філе
#!/usr/local/bin/haserl --upload-limit=4096 --upload-dir=/ Tmp
Тип вмісту: текст/html


" method=POST enctype="multipart/form-data" >



<% if test -n "$HASERL_uploadfile_path"; потім %>

Ви завантажили файл з назвою <% echo -n $FORM_uploadfile_name %> , і це було
. тимчасово зберігається на сервері як . The
файл був <% cat $HASERL_uploadfile_path | wc -c %> довжиною байтів.
<% rm -f $HASERL_uploadfile_path %> Не хвилюйтеся, файл щойно видалено
з веб-сервера.
<% else %>
Ви ще не завантажили файл.
<% fi %>



Відображає форму, яка дозволяє завантажувати файли. Це досягається за допомогою
--upload-limit і встановивши форму енктип до multipart/form-data. Якщо
клієнт надсилає файл, потім друкується деяка інформація щодо файлу, а потім
видалено. В іншому випадку у формі вказано, що клієнт не завантажив файл.

RFC-2616 Відповідність
#!/usr/local/bin/haserl
<% echo -en "тип вмісту: текст/html\r\n\r\n" %>

...


Щоб повністю відповідати специфікації HTTP, заголовки повинні бути завершені за допомогою
CR+LF, а не лише звичайне завершення лінії LF для Unix. Наведений вище синтаксис може
використовуватися для створення заголовків, сумісних з RFC 2616.

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


На додаток до змінних середовища, успадкованих від веб-сервера, є наступне
змінні середовища завжди визначаються під час запуску:

HASERLVER
хазерл версія - інформаційний тег.

SESSIONID
Шістнадцятковий тег, який є унікальним для життя CGI (він генерується, коли
cgi запускається; і не змінюється, доки не буде створено інший запит POST або GET.)

HASERL_ACCEPT_ALL
Якщо --прийняти-всі встановлено прапор, -1В іншому випадку 0.

HASERL_SHELL
Ім’я оболонки haserl почав виконувати команди підоболонки.

HASERL_UPLOAD_DIR
Каталог haserl використовуватиме для зберігання завантажених файлів.

HASERL_UPLOAD_LIMIT
Кількість КБ, які дозволено надсилати з клієнта на сервер.

Ці змінні можуть бути змінені або перезаписані в сценарії, хоча ті
починаючи з "HASERL_", є лише інформаційними та не впливають на запущений сценарій.

БЕЗПЕКА ОСОБЛИВОСТІ


Існує багато літератури про небезпеку використання оболонки для програмування CGI-скриптів.
хазерл містить деякі засоби захисту для пом’якшення цього ризику.

Навколишнє середовище Змінні
Код для заповнення змінних середовища виходить за рамки підпункту
оболонка. Він аналізує символи? і &, тому клієнту важче зробити
«ін’єкційні» атаки. Як приклад, foo.cgi?a=test;cat / etc / passwd може призвести до
змінній, якій присвоюється значення тест а потім результати бігу як
/ etc / passwd відправляється клієнту. Хазерл призначить змінній повне
значення: тест; кіт / etc / passwd

Можна безпечно використовувати цю «небезпечну» змінну в сценаріях оболонки, укладаючи її
цитати; хоча перевірка повинна бути виконана для всіх полів введення.

Привілеї Випадання
Якщо встановлено як сценарій suid, хазерл встановить для свого uid/gid значення власника
сценарій. Це можна використовувати, щоб мати набір CGI-скриптів, які мають різні
привілей. Якщо хазерл binary не встановлюється suid, тоді сценарії CGI будуть
запускати з uid/gid веб-сервера.

Відхилити команда лінія параметри даний on URL
Якщо URL-адреса не містить незакодованого "=", то в специфікації CGI зазначено параметри
повинні використовуватися як параметри командного рядка програми. Наприклад, згідно
до специфікації CGI: http://192.168.0.1/test.cgi?--upload-limit%3d2000&foo%3dbar
Слід встановити обмеження завантаження на 2000 КБ на додаток до налаштування "Foo=bar". Захищати
проти того, щоб клієнти дозволяли власні завантаження, хазерл відхиляє будь-які параметри командного рядка
за межами argv[2]. Якщо викликається як #! скрипт, інтерпретатор - argv[0], все
параметри командного рядка, наведені в #! рядок об’єднуються в argv[1] і
ім'я сценарію argv[2].

LUA


Якщо зібрано з підтримкою lua, --shell=lua замість цього ввімкне lua як мову сценарію
оболонки bash. Змінні середовища (SCRIPT_NAME, SERVER_NAME тощо) розміщуються в
таблицю ENV, а змінні форми поміщаються в таблицю FORM. Наприклад,
Форму для самопосилання вище можна записати так:

#!/usr/local/bin/haserl --shell=lua
Тип вмісту: текст/html


Зразок форми
" method="GET">
<% # Виконайте базову перевірку поля FORM_text
# Щоб запобігти поширеним веб-атакам
FORM.textfield=string.gsub(FORM.textfield, "[^%a%d]", "")
%>
<input type=text name=textfield
Значення="<% io.write (string.upper(FORM.textfield)) %>" cols=20>




Оператор <%= є синтаксичним цукром для io.write (нанизувати( ... )) Так, наприклад,
Рядок значення= вище можна записати: Значення="<%= string.upper(FORM.textfield) %>" cols=20>

Скрипти haserl lua можуть використовувати цю функцію haserl.loadfile(ім'я файлу) обробити ціль
сценарій як скрипт haserl (lua). Функція повертає тип "функції".

Наприклад,

bar.lsp
<% io.write ("Hello World" ) %>

Ваше повідомлення: <%= gvar %>

-- Кінець файлу включення --

foo.haserl
#!/usr/local/bin/haserl --shell=lua
<% m = haserl.loadfile("bar.lsp")
gvar = "Запустити як m()"
м ()

gvar = "Завантажити та запустити за один крок"
haserl.loadfile("bar.lsp")()
%>

Робота Foo буде виробляти:

Привіт світ
Ваше повідомлення - Виконати як m()
-- Кінець файлу включення --
Привіт світ
Ваше повідомлення – Завантажити та запустити за один крок
-- Кінець файлу включення --

Ця функція дозволяє мати вкладені сторінки сервера haserl - фрагменти сторінок
які обробляються токенізатором haserl.

LUAC


Команда luac "shell" - це попередньо скомпільований фрагмент lua, тому інтерактивне редагування та тестування скриптів
неможливо. Однак haserl можна зібрати лише з підтримкою luac, і це дозволяє
Підтримка lua навіть у середовищі невеликої пам'яті. Усі перераховані вище функції haserl lua є
все ще доступний. (Якщо luac є єдиною оболонкою, вбудованою в haserl, haserl.loadfile є
вимкнено, оскільки синтаксичний аналізатор haserl не скомпільований.)

Ось приклад тривіального сценарію, перетвореного в скрипт luac cgi:

Враховуючи файл test.lua:
print ("Тип вмісту: text/plain0)
print ("Ваш UUID для цього запуску: " .. ENV.SESSIONID)

Його можна зібрати за допомогою luac:
luac -o test.luac -s test.lua

А потім до нього додано заголовок haserl:
echo '#!/usr/bin/haserl --shell=luac' | кішка - test.luac >luac.cgi

Крім того, можна розробити цілий веб-сайт за допомогою стандартної оболонки lua,
а потім попросіть сам haserl попередньо обробити сценарії для компілятора luac як частину a
процес побудови. Для цього використовуйте --shell=lua і розробляйте веб-сайт. Коли готовий до будівництва
середовищі виконання, додайте рядок --debug до ваших скриптів lua та запустіть їх виведення
результати у вихідні файли .lua. Наприклад:

Враховуючи скрипт haserl test.cgi:
#!/usr/bin/haserl --shell=lua --debug
Content-Type: text / plain

Ваш UUID для цього запуску – <%= ENV.SESSIONID %>

Попередньо компілюйте, скомпілюйте та додайте заголовок haserl luac:
./test.cgi > test.lua
luac -s -o test.luac test.lua
echo '#!/usr/bin/haserl --shell=luac' | кішка - test.luac >luac.cgi

Використовуйте haserl онлайн за допомогою служб 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