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

Ad


Значок OnWorks

critcl - Інтернет у хмарі

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

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

ПРОГРАМА:

ІМ'Я


critcl - програма CriTcl

СИНТАКСИС


critcl ?варіант...? ?файл? ...

_________________________________________________________________

ОПИС


Ласкаво просимо C Час виконання In Tcl, CriTcl коротко, система для створення пакетів розширення C
для Tcl на льоту, з коду C, вбудованого в сценарії Tcl, для всіх, хто бажає створити
їхній код працює швидше.

Цей документ є довідковою сторінкою для critcl команда. Його цільова аудиторія
людям доводиться створювати пакети за допомогою critcl для розгортання. Писатели пакетів с
вбудований код C може ігнорувати цей документ. Якщо вам потрібен огляд всього
натомість, будь ласка, перейдіть і прочитайте Вступ До CriTcl.

Ця програма знаходиться на прикладному рівні CriTcl.

*================*
|Додатки |
| critcl |
| critcl::app |
*================*

+----------------+
|Основні пакети |
| critcl |
| critcl::util |
+----------------+

+----------------+
|Пакети підтримки|
| заглушки::* |
| md5, платформа |
| ... |
+----------------+

Програма підтримує такий загальний командний рядок:

critcl ?варіант...? ?файл? ...
Точний набір підтримуваних опцій, їх значення та взаємодія детально описано в
розділ додаток Опції нижче. Більший набір прикладів див. у розділі
«Побудова пакетів Critcl» в документі про використання CriTcl.

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


Зрозуміли наступні варіанти

-v

-- версія
Ці параметри змушують critcl друкувати свою версію stdout а потім вийти.

-I шлях
Цей параметр визначає додатковий глобальний шлях включення для використання під час компіляції
з ".critcl" файли. Усі значення використовуються, якщо це вказано кілька разів.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-L шлях
Цей параметр визначає додатковий шлях пошуку в глобальній бібліотеці для використання під час зв’язування
з ".critcl" файли. Усі значення використовуються, якщо це вказано кілька разів.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

- кеш шлях
Цей параметр визначає шлях до каталогу, який буде використовуватися як кеш результатів. Якщо ні
вказав, що за замовчуванням "~/.critcl/", або, коли створюється пакет (див
варіант -упаковка нижче), до "~/.critcl/.", якщо вказано кілька разів
використовується останнє значення.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

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

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

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-config шлях
Ця опція вказує шлях до спеціального файлу конфігурації, що дозволяє користувачеві
використовувати власні цільові специфікації. Якщо не вказано провідне значення за замовчуванням
замість цього використовується конфігурація, вбудована в ядро ​​системи. Коли вказано декілька
разів використовується останнє значення.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

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

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

пам'ять Цей режим активує налагодження пам'яті виділень, зроблених через Tcl
серцевина.

Символи
Цей режим активує побудову всіх ".c" файли із символами налагодження.

всі Цей режим активує обидва пам'ять та Символи.

- вимкнути ім'я
Цей параметр встановлює значення параметра конфігурації спеціальної збірки ім'я до false.
Це еквівалентно "-with-ім'я 0 ».

Інформація перевіряється, лише якщо один із ".critcl" насправді вхідні файли
визначає та використовує для цього параметр конфігурації спеціальної збірки ім'я.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-увімкнути ім'я
Цей параметр встановлює значення параметра конфігурації спеціальної збірки ім'я до правда.
Це еквівалентно "-with-ім'я 1 ».

Інформація перевіряється, лише якщо один із ".critcl" насправді вхідні файли
визначає та використовує для цього параметр конфігурації спеціальної збірки ім'я.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

- сила Коли вказано, компіляція завжди виконується, навіть якщо для файлу є спільна бібліотека
вже існує. Цей ефект можна досягти шляхом очищення кешу (див. вище) як
ну хіба що він лінивий у знищенні файлів і не знищить файли
не пов’язані з тими, які ми будуємо.

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

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-допомога Цей параметр змусить систему надрукувати коротку довідку про синтаксис командного рядка
і параметри, а потім закрийте програму.

- тримати Цей параметр змусить систему зберегти ".c" файли, згенеровані запуском у файлі
кеш результатів. Під час створення пакету (див. опцію -упаковка нижче) це також запобігає
видалення унікального кешу результатів, використовуваного запуском. Цей варіант призначений
для налагодження critcl себе, де може знадобитися перевірити
згенерований код C.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-libdir шлях
Ця опція вказує шлях, за яким створюються пакунки за допомогою параметра -упаковка
збережені. Він також визначає шлях для пошуку бібліотек, наприклад for -L. Коли
вказано кілька разів, останнє значення використовується. Коли взагалі не вказано
за замовчуванням, "либ", використовується. Зверніть увагу на те, що це відносний шлях, до якого поміщається результат
поточний робочий каталог.

-includedir шлях
Цей параметр визначає шлях, під яким зберігаються будь-які згенеровані заголовки пакетів.
Він також визначає шлях для пошуку включених файлів, наприклад for -I. Коли вказано
кілька разів останнє значення використовується як призначення, однак усі попередні значення
зберігаються на шляху пошуку включення. Якщо значення за замовчуванням не вказано взагалі,
"включати", використовується. Зверніть увагу, що це відносний шлях, поміщаючи результат у файл
поточний робочий каталог.

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-упаковка Стандартним режимом програми є створення ".critcl" файли, перераховані на
командного рядка та збережіть результати в кеші результатів. По суті, попереднє заповнення
кеш з важливими пакетами, скорочуючи час, необхідний для їх використання
пакети

Ця опція активує один з інших режимів, генерування пакетів. У цьому режимі
вхідні файли спочатку обробляються, як зазвичай, але потім вони об'єднуються
створюється одна бібліотека та додаткові файли, щоб цю бібліотеку можна було використовувати як
звичайний пакет Tcl.

Опція -чай, див. нижче, викликає останній режим, генерацію TEA. Якщо обидва варіанти,
тобто -упаковка та -чай вказано останній вказаний перемог.

У цьому режимі параметри -чистий та - сила є неактуальними та ігноруються. У контрасті,
варіант -libdir є актуальним як у цьому, так і в -чай Режим.

Якщо цей параметр вказано, базове ім’я першого аргументу файлу після
options використовується як ім'я пакета, який створюється. Якщо розширення що
файл вказує на спільну бібліотеку (".тому"".sl"".диліб"І". Dll") це також
видалено з набору вхідних файлів. А ".tcl" файл зберігається як частина введення. A
Припускається, що один файл без розширення насправді має ".tcl"розширення. А
файл без розширення, але інші вхідні файли, наступні за ним, розглядаються як ім'я
власне спільну бібліотеку та видалено з набору вхідних файлів.

Приклади:
=> Ім'я пакета: foo
=> Вхідний файл: foo.tcl
=> Ім'я пакета: foo
=> Вхідний файл: bar.tcl
=> Ім'я пакета: foo
=> Вхідний файл: foo.tcl
=> Ім'я пакета: foo
=> Вхідний файл: bar.tcl

-показати Цей параметр, якщо вказано, змусить систему надрукувати конфігурацію
обрана ціль до stdout а потім вийти. На вибір цілі можна вплинути
через опцію -ціль (Дивіться нижче).

-Покажи все
Ця опція, якщо вказана, змусить систему надрукувати вибране повністю
файл конфігурації до stdout а потім вийти. Вибір конфігураційного файлу може
піддаватися впливу через опцію -config (Дивись вище).

-ціль ім'я
Цей параметр замінює вибір за замовчуванням цілі збірки на вибір користувача.
Якщо вказано кілька разів, використовується останнє значення. Названа ціль має існувати
у вибраному конфігураційному файлі. Використовуйте опцію -цілі (див. нижче), щоб отримати список
прийнятні цілі. На вибір конфігураційного файлу можна вплинути
варіант -config (Дивись вище).

Цей параметр не має значення під час створення пакету TEA (див -чай нижче).

-цілі
Цей параметр, якщо вказано, змусить систему надрукувати список усіх відомих
цілі з вибраного файлу конфігурації до stdout а потім вийти. Вибір
на файл конфігурації можна вплинути за допомогою параметра -config (Дивись вище).

-чай Схожий на варіант -упаковказа винятком того, що викликаний режим не генерує двійкові файли,
але ієрархія каталогів, що містить ".critcl" файл, його супутні файли та a
Система збірки, схожа на TEA, з більшістю необхідного коду підтримки (включаючи копії
пакетів critcl).

Якщо обидва варіанти, тобто -упаковка та -чай вказано останній вказаний перемог.

У цьому режимі параметри -I, -L, -чистий, - сила, - кеш, -includedir, -увімкнути,
- вимкнути та -з-FOO є неактуальними і ігноруються. На відміну від цього варіант -libdir
є актуальним як у цьому, так і в -упаковка Режим.

Якщо цей параметр вказано, базове ім’я першого аргументу файлу після
options використовується як ім'я пакета, який створюється. Якщо розширення що
файл вказує на спільну бібліотеку (".тому"".sl"".диліб"І". Dll") це також
видалено з набору вхідних файлів. А ".tcl" файл зберігається як частина введення. A
Припускається, що один файл без розширення насправді має ".tcl"розширення. А
файл без розширення, але інші вхідні файли, наступні за ним, розглядаються як ім'я
власне спільну бібліотеку та видалено з набору вхідних файлів.

Приклади:
=> Ім'я пакета: foo
=> Вхідний файл: foo.tcl
=> Ім'я пакета: foo
=> Вхідний файл: bar.tcl
=> Ім'я пакета: foo
=> Вхідний файл: foo.tcl
=> Ім'я пакета: foo
=> Вхідний файл: bar.tcl

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

Інформація перевіряється, лише якщо один із ".critcl" насправді вхідні файли
визначає та використовує для цього параметр конфігурації спеціальної збірки ім'я.

Цей параметр не має значення під час створення пакету TEA (див -чай вище).

ПАКЕТ СТРУКТУРА


Пакети, створені critcl, мають таку основну структуру:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms (необов'язково)
|
+- tcl (необов'язково)
| +-
|
+-
+-

примітки

[1] Файл "pkgIndex.tcl" це стандартний файл індексу пакету, який очікується Tcl
управління пакетами. Це джерело під час пошуку пакетів і оголошується
пакет до Tcl з його файлами та як з ними працювати.

[2] Файл "critcl-rt.tcl" є допоміжним файлом, що містить загальний код, який використовує
"pkgIndex.tcl«для виконання своїх завдань.

[3] Файл "ліцензія.умови" не є обов'язковим і відображається лише якщо ".critcl"файл
пакет генерується з використаної команди critcl::ліцензія оголосити пакет
автор і ліцензія.

[4] Усі файли, оголошені командою critcl::tsources поміщаються в підкаталог
"TCL".

[5] Спільна бібліотека, створена critcl, поміщається в спеціальну підсистему
каталог.

Вся структура, і особливо останній пункт, дають змогу згодом об’єднати результати
(для одного пакета та версії) для кількох цільових платформ в один каталог
структуру без конфлікту, просто копіюючи верхні каталоги один над одним. The
тільки файли, які можуть конфліктувати, знаходяться в і "TCL" каталогів, і для них ми
знати, що цілі вони ідентичні. Результат такого злиття буде виглядати так:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms (необов'язково)
|
+- tcl (необов'язково)
| +-
|
+-
| +-
+-
| +-
+-
+-

ЗМІНИ ДЛЯ Версія 2.1


[1] Виправлена ​​помилка, де critcl::tsources інтерпретував відносні шляхи як відносні до
поточний робочий каталог замість відносно ".critcl" файл за допомогою
команду, як і всі інші команди цього типу.

[2] Виправлено внутрішні елементи, які запобігають збиранню інформації для кількох ".critcl"файли до
витік між ними. Зокрема, critcl::tk не є глобальною опцією конфігурації
більше.

[3] Виправлено команду critcl::ліцензія бути нульовою операцією в режимі "компіляції та запуску",
замість того, щоб видавати помилку.

[4] Виправлено втручання програми critcl у кеш результатів "компілювати та запустити"
in -упаковка режим, використовуючи повністю окремий (і за замовчуванням перехідний)
каталог для цього режиму.

[5] Виправлена ​​помилка, коли змінюється ".critcl" файл не призвів до перебудови для режиму
«компілювати та запустити». Усі відповідні команди API тепер забезпечують зміни UUID.

[6] Виправлена ​​помилка в обробці бекенда critcl::debug де супутник з-джерела
a ".critcl" файл не був скомпільований з параметрами налагодження, хоча ".critcl"файл
був

[7] Виправлена ​​помилка critcl::debug що перешкоджало розпізнаванню режиму "все", коли він був
не перший аргумент команди.

[8] Виправлена ​​помилка в "preload.c" запобігання його компіляції на платформах, які не є Windows.

[9] Виправлена ​​давня помилка в обробці кваліфікаторів простору імен у назві команди
аргумент critcl::cproc та critcl::cкоманда. Тепер можна вказати а
повна назва команди без проблем.

[10] Розширено/перероблено critcl::tsources бути канонічним способом проголошення ".tcl"
супутні файли навіть для режиму "компіляція та запуск".

[11] Розширено/перероблено critcl::tsources дозволити використання ".critcl" файл як власний
Супровідний файл Tcl.

[12] Розширений critcl::framework для внутрішньої перевірки цільової збірки OS X та ігнорування
декларацію, якщо її немає.

[13] Розширений critcl:: не вдалося бути викликаним більше одного разу в ".critcl" файл
Перший виклик змушує збірку, якщо це ще не було зроблено, отримати результат. Далі
виклики повертають кешований результат першого виклику.

[14] Розширено обробку змінної середовища CC в коді, що визначає
компілятор для використання (тобто видалення) шляхів до компілятора, файлу компілятора
розширення та параметри компілятора, зазначені після самого компілятора, залишаючи тільки
голе ім'я компілятора.

[15] Розширено код, який обробляє пошук попередньо завантажених бібліотек, щоб надрукувати шляхи до нього
здійснено пошук, що полегшує налагодження помилки пошуку.

[16] Нова команда critcl::tcl можна використовувати для мінімального оголошення версії Tcl
необхідний для створення та запуску ".critcl" файл і пакет. За замовчуванням 8.4, якщо ні
оголосив. Розширений critcl, щоб мати заглушки та заголовки для всіх Tcl 8.4, 8.5,
і 8.6.

[17] Нова команда critcl::load змушує побудову та навантаження ".critcl" файл. Це
офіційний спосіб перевизначення схеми critcl за замовчуванням lazy-build-&-load on-demand
для режиму "компіляція та запуск".

примітки що після використання critcl::load / critcl:: не вдалося в ".critcl" файл це не так
У цьому файлі більше можливо використовувати команди critcl. Це призведе до помилки.

[18] Розширено генерацію прагм '#line' для використання інформація кадр (за наявності) до
надайте компілятору C точні номери рядків у ".critcl" файл для
повідомлення про попередження та помилки.

[19] Розширений critcl::перевірити з журналуванням, щоб допомогти з налагодженням перевірок під час збірки
середовище, а також додатковий необов'язковий аргумент для позначення маркування.

[20] Додано нову команду critcl::checklink яка не тільки намагається перевірити навколишнє середовище
шляхом компіляції коду, а також його зв’язування.

[21] Додано нову команду critcl::msg для обміну повідомленнями, як-от команда critcl:: помилка для
повідомлення про помилки. Так само це гачок, який користувачеві пакета дозволено використовувати
перевизначити. Реалізація за замовчуванням, яку використовує режим скласти & пробіг нічого не робить. The
реалізація для режиму породжувати пакет друкує повідомлення на стандартний вихід.

Передбачене використання для звітності про результати, визначені critcl::перевірити та
critcl::checklink під час побудови, щоб допомогти з налагодженням, коли щось піде не так
з чеком.

[22] Виявлено внутрішні елементи обробки аргументів critcl::proc для використання розширеними
користувачів. Нові команди є

[1] critcl::argnames

[2] critcl::argcnames

[3] critcl::argcsignature

[4] critcl::argvardecls

[5] critcl::argconversion

Будь ласка, дивіться розділ Advanced Вбудований C код в critcl пакетна документація для
подробиці

[23] Розширено пакет critcl для перехоплення пакет забезпечувати і запишіть файл ->
відображення назви пакетів. Крім того, інші внутрішні зміни тепер дозволяють використовувати простір імен
назви пакунків, використовуючи правильні імена шляху та функцію ініціалізації.

[24] Вилучено невикористані команди critcl::optimize та critcl::include.

[25] Упав -lib режим із програми critcl.

[26] Вилучено залишки підтримки для Tcl 8.3 і раніше.

ЗМІНИ ДЛЯ Версія 3


[1] Команда critcl::платформа було застаріло у версії 2.1, замінено на
critcl::targetplatform, але зберігається для сумісності. Тепер його видалили.

[2] Команда critcl::компільований зберігався у версії 2.1 із семантикою в
суперечність його, для сумісності. Це протиріччя було усунено,
змінюючи видиму семантику команди, щоб вона відповідала її назві.

[3] Зміна до версії 3 стала необхідною через два несумісних видимих
зміни вище.

[4] Розширено пакет програми з обробкою коду новою опцією -чай. Уточнення
ця опція викликає спеціальний режим, де critcl генерує пакет TEA, тобто обгортання
введення в ієрархію каталогів і допоміжні файли, які надають його TEA-
схожа система збірки.

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

Згенерована ієрархія каталогів пакунків переважно є автономною, але не повністю.
Для цього потрібна не тільки робоча установка Tcl, але й робочі установки
пакетів md5 та cmdline. Обидва вони надаються Tcllib пучок
Необов'язковий, але рекомендований для встановлення будь-який з пакетів, які можуть
прискорити роботу md5, тобто cryptkit, tcllibcабо Trf.

[5] Розширено пакет critcl новою командою critcl::scan пройшовши шлях до а
".critcl", статично скануючи його та повертаючи ліцензію, версію, список
його супутні файли, список імпортованих API та список налаштувань, визначених розробником
параметри конфігурації. Ці дані є основою для описаного обгортання чаю
вище.

Зауважте, що це a статичний сканувати. У той час як інші режими збірки можуть (повинні) виконувати
".critcl" файл і приймати рішення щодо зібраного коду C, специфічні для платформи,
супутні файли тощо. режим TEA wrap не може зробити платформу-
конкретні рішення. Він повинен обернути все, що може знадобитися
при фактичному будівництві. Звідси статичне сканування. Однак це має свій набір
проблеми, а саме неможливість з'ясувати будь-яку динамічну конструкцію супутника
шляхи до файлів, принаймні самостійно. Таким чином:

[6] Розширено API, що використовується пакетами на основі critcl, за допомогою команди critcl:: володіє. У той час як
ця команда ігнорується звичайними режимами збірки, описаними статичним сканером
вище приймає свої аргументи як імена супутніх файлів, які мають бути загорнуті
в упаковку TEA і не міг би бути розпізнаний сканером інакше, як
через динамічні шляхи до critcl::tsources, critcl::csources, отримання джерел
безпосередньо або просто є додатковими файлами даних.

[7] Розширено API, що використовується пакетами на основі critcl, за допомогою команди critcl::api для
керування таблицями заглушок, будь то їх використання та/або оголошення та експорт.

Будь ласка, дивіться розділ Заглушки таблиця управління в critcl пакетна документація для
подробиці

[8] Розширено API, що використовується пакетами на основі critcl, за допомогою команди critcl::userconfig
для керування спеціальними параметрами конфігурації, визначеними розробником, будь то їх
використання та/або декларація.

Будь ласка, дивіться розділ виготовлений на замовлення Будувати конфігурація в critcl пакетна документація
for details.

[9] Розширено API, що використовується пакетами на основі critcl, з командами
critcl::опис, critcl::резюме, critcl::subject, critcl::meta та
critcl::buildrerequirement для оголошення метаданих TEApot для/про
пакет.

Будь ласка, дивіться розділ пакет Meta дані в critcl пакетна документація для
подробиці

ЗМІНИ ДЛЯ Версія 3.0.1


[1] Повсюдно виправлені помилки. Детально:

[2] Виправлено запис вимог до версії Tcl. Зберігайте назву та версію пакета
разом, безперервно згенеровані метадані та згенерована команда завантаження пакета.

[3] Виправлено сценарії збірки: під час встановлення або обгортання для TEA генеруйте будь-які відсутні
каталоги

[4] Змінено сценарії збірки, щоб правильно вийти з програми, коли відкриється вікно
їх графічний інтерфейс закривається за допомогою кнопки (X).

[5] Вилучено 8.5-ism (відкритий wb), який встав у основний скрипт збірки.

[6] Змінено приклади скриптів збірки, щоб розділити вихідні дані для різних
приклади (і пакети) шляхом додавання порожніх рядків.

[7] приклад stack::c виправлення помилки: включити декларації API для використання у супровідних файлах.

[8] Розширена документація: відзначено необхідність робочої установки C
компілятор.

[9] Розширено цільові визначення та код Windows для обробки використовуваних файлів маніфесту
сучасними середовищами розробки MS. Зауважте, що цей код обробляє обидва
можливості, середовище з використанням маніфестів і (старе(ер) середовище без.

[10] Розширено 64-розрядні цільові визначення та код Windows для автоматичного визначення потреби
допоміжну бібліотеку "bufferoverflowU.lib" і переналаштуйте компіляцію та посилання
командує належним чином. Ми припускаємо, що бібліотека повинна бути пов’язана, якщо вона є.
Це не зашкодить, якщо бібліотека є, але не потрібна. Просто зайве.
Ми шукаємо бібліотеку за шляхами, визначеними змінною середовища LIB.

ЗМІНИ ДЛЯ Версія 3.0.2


[1] Виправлена ​​проблема в режимі компіляції та запуску, коли команди, введені в auto_index, відсутні
знайдено командою Tcl [unknown].

[2] Виправлено невідповідність ключів масиву, яка порушувала використання даних клієнта та функцію видалення
процедури. Повідомляє Джос ДеКостер із патчем.

[3] Впроваджено параметр командного рядка -L, еквівалент опції -I, тільки для бібліотеки
шляхи пошуку.

[4] Виправлені проблеми github 5 і 8. Обробка відсутньої змінної ::errorInfo. Це
завжди має бути присутнім, проте, схоже, є перегляди Tcl, навколо яких
порушують це припущення.

ЗМІНИ ДЛЯ Версія 3.0.3


[1] Виправлені проблеми github 5 і 8, наприклад сценарії build.tcl. Робота навколо a
відсутня змінна ::errorInfo. Воно повинно бути присутнім завжди, як би не здавалося
перегляди Tcl, які порушують це припущення.

ЗМІНИ ДЛЯ Версія 3.0.4


[1] Виправлено генерацію ініціалізації пакета під час читання вхідного коду
stdin і не має належного шляху.

[2] Виправлена ​​проблема github 11. Тепер використовується /LIBPATH замість -L у Windows (libinclude
налаштування конфігурації).

[3] Розширений critcl для обробки -l:шлях у форматі -l параметрів. GNU ld 2.22+ справляється з цим
шляхом пошуку шляху як є. Добре, якщо вказувати статичні бібліотеки, як звичайний -l
шукає спільні бібліотеки, а не статичні. critcl обробляє це зараз, як
старіші GNU ld не розуміють цього, ані різні специфічні для виробника компонувальники.

[4] Виправлена ​​проблема github №12. Тепер Critcl визначає версію MSVC, яка використовується та використовує
це для перемикання між різними параметрами налагодження посилання. Спрощено обробку
bufferoverflowU.lib також, використовуючи той самий механізм і згортаючи обидва
розділи конфігурацій ми повернули в один.

[5] Перероблено вставку прагм #line у ​​згенерований код C, щоб уникнути
обмеження на аргумент номера рядка, накладений різними компіляторами, і більше
точний.

[6] Змінена обробка аргументів. Опція -libdir тепер також має на увазі -L для свого аргументу.

[7] Розширена обробка параметра -show (critcl::showconfig), щоб перерахувати шлях до
конфігураційний файл, з якого надходять дані. Добре підходить для налагодження конфігурації
обробка

[8] Розширено сценарій збірки за допомогою цілей, щоб відновити вбудовану документацію,
і діаграми, а також для створення випуску.

ЗМІНИ ДЛЯ Версія 3.0.5


[1] Виправлено помилку в новому коді для прагм #line, які спрацьовували під час вказування коду C
без провідних пробілів.

[2] Розширено документацію, щоб мати сторінки керівництва для ліцензії, отримання джерела,
інсталятора та посібники розробника.

ЗМІНИ ДЛЯ Версія 3.0.6


[1] Виправлена ​​проблема github 10. Додаток critcl тепер надає правильний код виходу (1)
на помилку збірки, замість того, щоб завжди вказувати на успіх (статус 0).

[2] Виправлена ​​проблема github 13. Обробка bufferoverflowU.lib для збірок випуску була
несумісне з обробкою налагоджувальних збірок. Тепер він обробляється однаково
(умовно) в обох випадках.

[3] Очищення документації, в основному в посібнику з встановлення та README.md, показаному
GitHub

ЗМІНИ ДЛЯ Версія 3.0.7


[1] Виправлено код, згенерований critcl::c++ команда. Випущений код передав не-
статична таблиця рядків до Tcl_GetIndexFromObj, з порушенням договору, який
вимагає, щоб таблиця мала фіксовану адресу. Це був розрив пам’яті
відбутися. Дякую Браяну Гріффіну за те, що він попередив нас про загальну проблему.

ЗМІНИ ДЛЯ Версія 3.1


[1] Додано новий пакет вищого рівня critcl::iassoc.

Цей пакет спрощує створення коду, що пов’язує дані з інтерпретатором
через Tcl Tcl_(Отримати|Встановити)AssocData() API. Користувач може зосередитися на своїх даних
весь необхідний шаблонний код C для підтримки цього генерується пакетом.

Цей пакет використовує кілька нових функцій, які були додані до ядра critcl
пакет, див. нижче.

[2] Додано пакет вищого рівня critcl::клас.

Цей пакет спрощує створення об’єктів рівня C з класом і екземпляром
команди. Користувач може написати визначення класу зі змінними класу та екземпляра
та -методи, подібні до класу TclOO, з усім необхідним стандартним кодом C
підтримувати це, створене пакетом.

Цей пакет використовує кілька нових функцій, які були додані до ядра critcl
пакет, див. нижче.

[3] Розширений API для обробки метаданих TEApot. Додано команду critcl::meta? до
запитати збережену інформацію. Основним використанням, яке передбачається наразі, є вилучення
ім'я поточного пакета за допомогою команд утиліти для використання у створених іменах. Це
конкретна інформація завжди доступна завдяки статичному скануванню пакета
файл під час виконання першої команди critcl.

Нові пакети critcl::iassoc та critcl::клас (див. вище) є користувачами цього
команда

[4] Розширено API за допомогою команди, critcl::name2c, розкриваючи процес перетворення
ім'я Tcl в базову назву, простір імен і простір імен C. Це забезпечує більш високий рівень
генератори коду для генерування ідентифікаторів того ж типу C, що і critcl себе.

Новий пакет critcl::клас (див. вище) є користувачем цієї команди.

[5] Розширено API за допомогою команди, critcl::source, виконуючи команди critcl, знайдені в
окремий файл у контексті поточного файлу. Це полегшує управління
більших масивів коду, оскільки це дозволяє користувачеві розділити їх на легші
переварювати менші шматки, не викликаючи створення кількох пакетів.

[6] Пов’язано з попереднім пунктом, розширено API командами для переадресації збору
згенерованого коду C в пам'ять. Це полегшує використання команд для
вбудований код C у генератори коду вищого рівня.

Див. Розділ Додатково: Диверсії для детальної інформації про надані команди.

Новий пакет critcl::клас (див. вище) є користувачем цих засобів.

[7] Розширений API командами, які допомагають розробникам генерувати належний C
#лінія директиви. Це дозволяє генераторам коду вищого рівня генерувати та вставляти
їхні власні директиви, гарантуючи, що помилки компіляції в їх коді є належним
приписується.

Див. Розділ Додатково: Місце розташування управління для детальної інформації про надані команди.

Нові пакети critcl::iassoc та critcl::клас (див. вище) є їх користувачами
об'єкти

[8] Розширений API командами, що дають користувачам можливість визначати користувацькі аргументи
і типи результатів для ::critcl::cproc.

Див. Розділ Додатково: Розширення cproc для детальної інформації про надані команди.

ЗМІНИ ДЛЯ Версія 3.1.1


[1] Повсюдно виправлені помилки. Детально:

[2] Виправлено генерацію помилок wrong#args для critcl::cproc і похідний код
(critcl::клас методи на основі cproc). Використовуйте NULL, якщо немає аргументів, і візьміть
врахування зміщення.

[3] Виправлено обробку імен пакетів critcl::клас. Забув, що вони можуть містити
роздільники простору імен. Перейшов до версії 1.0.1.

[4] Розширений а critcl::клас згенероване повідомлення про помилку під час створення екземпляра для наочності.
Перейшов до версії 1.0.2.

ЗМІНИ ДЛЯ Версія 3.1.2


[1] Покращення. Детально:

[2] Розширений critcl::cproc мати можливість обробляти необов’язкові аргументи обмеженим чином.
Це автоматично доступне для critcl::клас також методи на основі cproc.

[3] Виправлено помилку призначити емуляція для Tcl 8.4. Правильно встановіть невикористані змінні в
порожній рядок. Покращена версія пакета емуляції lassign84 в 1.0.1.

ЗМІНИ ДЛЯ Версія 3.1.3


[1] Покращення. Детально:

[2] Додано новий тип аргументу "pstring", для "Pascal String", підрахований рядок, тобто
комбінація вказівника на рядок і довжини рядка.

[3] Додано нові методи critcl::argtypesupport та ::critcl::argsupport визначати і використовувати
додатковий допоміжний код для типу аргументу, який тут використовується "pstring" вище для
визначити необхідну структуру.

[4] Напіввиправлення в пакетах critcl::клас та critcl::iassoc. Прагми для АС
сканер метаданих, щоб переконатися, що файли шаблонів є частиною пакета.
Версії перейшли до 1.0.4 і 1.0.1 відповідно.

ЗМІНИ ДЛЯ Версія 3.1.4


[1] Виправлено помилку в пакеті critcl::клас. Створіть фіктивне поле в структурі класу if
клас не має змінних класу. Без цієї зміни структура була б порожньою,
і ряд компіляторів не в змозі обробити такий тип.

[2] Виправлена ​​помилка, яка порушила конфігурацію win64.

[3] Виправлена ​​проблема №16, помилка в документації команди critcl::клас.

ЗМІНИ ДЛЯ Версія 3.1.5


[1] Виправлена ​​проблема №19. Зроблено регулярний вираз, який витягує номер версії MSVC
більш загальним, щоб він працював на німецьких мовних системах. Можливо, це має бути
переглянуто в майбутньому для інших мовних стандартів Windows.

[2] Виправлена ​​проблема №20. Зроблено опцію -чай працювати на windows, принаймні в емуляції unix
середовище, як-от msys/mingw.

ЗМІНИ ДЛЯ Версія 3.1.6


[1] Виправлена ​​проблема №21. У той час як мультивизначення змінних вказівника заглушки таблиці було
нормально для всіх компонувальників C, які бачили до цього часу, компонувальникам C++ це зовсім не сподобалося.
Перероблено код, щоб гарантувати, що цей набір змінних генерується лише один раз, в
обгортку навколо всіх частин, щоб зібрати.

[2] Виправлена ​​проблема №22, обробка аргументів ідентифікатора команди
critcl::cкоманда, critcl::cproc та critcl::cdata. Тепер ми належним чином дозволяємо будь-який Tcl
ідентифікатор і генерувати з них відповідні внутрішні ідентифікатори C.

У рамках цього підпис наказу critcl::name2c змінився. Команда зараз
надає список із чотирьох значень замість трьох. Нове значення було додано в
end.

Далі адаптована реалізація пакета critcl::клас, користувач
critcl::name2c. Цей пакет зараз має версію 1.0.6 і вимагає critcl 3.1.6

Нарешті виправлено неправильне використання параметра -cname in critcl::cкоманда та
critcl::cproc.

[3] Виправлена ​​проблема №23.

ЗМІНИ ДЛЯ Версія 3.1.7


[1] Виправлена ​​проблема №24. Витягніть і беззастережно відобразіть попередження компілятора, знайдені в файлі
журнал побудови. Запобігає користувачам пропускати попередження, які, хоча і не викликають збірку
вийти з ладу, все ще може свідчити про проблеми.

[2] Нова функція. Вихідний гачок. Весь вихід користувача, який не надсилає повідомлення, тепер направляється через
команда critcl::print, і користувачам дозволено замінити його під час використання critcl
додаток як пакет.

[3] Нова функція, Ашок П. Надкарні. Конфігурації платформи можуть успадковувати значення від
конфігурації, визначені перед ними.

ЗМІНИ ДЛЯ Версія 3.1.8


[1] Виправлена ​​проблема з індексами пакетів, згенерованими для Tcl 8.4. Приєднайтеся до списку команд
з крапкою з комою, а не новим рядком.

[2] Виправлено проблему № 26, яка вказувала на випадки використання, які я забув розглянути під час виправлення
помилка №21 (див. critcl 3.1.6).

ЗМІНИ ДЛЯ Версія 3.1.9


[1] Виправлена ​​проблема №27. Додано відсутні визначення платформи для різних альтернативних Linux і
Цілі OS X.

[2] Виправлена ​​проблема №28. Додано відсутні прапори -mXX для посилання на linux-{32,64}-*
цілі.

[3] Виправлена ​​проблема №29. Замінено використання необробленої інформації «заголовки» в обробці
"cdefines" з належним включенням директив, похідних від нього.

[4] Виправлено проблему, яка виникла з відхиленим запитом на витяг №30 Ендрю Шадурою. Динамічно
витягніть оголошення змінних заглушок із заголовних файлів Tcl та згенеруйте
відповідні визначення змінних для використання в коді пакета. Згенерований код буде
тепер бути завжди узгодженим із заголовками, навіть якщо їх власна копія critcl є
замінено системними заголовками.

[5] Виправлена ​​проблема №31. Прийнято патч від Андрія Шадури, зі змінами (коментарі), за
легша інтеграція critcl із системами пакетів ОС, замінюючи копії critcl
Заголовки Tcl зі своїми власними.

[6] Виправлена ​​проблема №32. Об’єднаний запит на витяг від Ендрю Шадури. Різні помилки в
документація та коментарі.

[7] Виправлена ​​проблема №33. Краще обробляйте файли, які починаються з крапки.

AUTHORS


Жан-Клод Віпплер, Стів Ландерс, Андреас Купріс

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