АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

criscl - Интернет в облаке

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

Это команда criscl, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


criscl - Приложение CriTcl

СИНТАКСИС


криткл ?вариант...? ?файл? ...

_________________________________________________________________

ОПИСАНИЕ


Добро пожаловать в глобальную сеть C Время выполнения In Tcl, КриТкл для краткости, система для сборки пакетов расширений C
для Tcl на лету, из кода C, встроенного в сценарии Tcl, для всех, кто хочет сделать
их код работает быстрее.

Этот документ является справочной страницей руководства для криткл команда. Его целевая аудитория
людям, которым нужно создавать пакеты, используя криткл для развертывания. Писатели пакетов с
встроенный код C может игнорировать этот документ. Если вам нужен обзор всего
систему, пожалуйста, прочтите Введение к КриТкл.

Это приложение находится на прикладном уровне CriTcl.

* ================ *
| Приложения |
| криткл |
| criscl :: app |
* ================ *

+ ---------------- +
| Базовые пакеты |
| криткл |
| criscl :: util |
+ ---------------- +

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

Приложение поддерживает следующую общую командную строку:

криткл ?вариант...? ?файл? ...
Точный набор поддерживаемых опций, их значение и взаимодействие подробно описаны в
. Применение Опции ниже. Более широкий набор примеров см. В разделе
«Создание пакетов Critcl» в документе о . КриТкл.

ЗАЯВЛЕНИЕ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Подразумеваются следующие варианты

-v

--версия
Эти параметры заставляют Critcl печатать свою версию в стандартный вывод а затем выйдите.

-I путь
Этот параметр указывает дополнительный глобальный путь включения для использования во время компиляции.
из ".critcl"файлы. Если это указано несколько раз, используются все значения.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-L путь
Этот параметр указывает дополнительный путь поиска в глобальной библиотеке, который будет использоваться во время связывания.
из ".critcl"файлы. Если это указано несколько раз, используются все значения.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-кэш путь
Эта опция указывает путь к каталогу, который будет использоваться в качестве кэша результатов. Если не
указал, что по умолчанию "~ / .critcl /", или при создании пакета (см.
вариант -упаковка ниже), чтобы "~ / .critcl /.", При многократном указании
используется последнее значение.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-чистый При указании кеш результатов очищается, т. Е. Все найденные файлы и каталоги.
внутри удаляются) перед началом компиляции.

Этот параметр не имеет значения при создании пакета (см. Параметр -упаковка ниже) потому что
этот режим начинается с уникального и пустого кеша результатов.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-конфигурация путь
Этот параметр указывает путь к настраиваемому файлу конфигурации, позволяя пользователю
использовать свои собственные целевые спецификации. Если не указано проводное по умолчанию
Вместо этого используется конфигурация, встроенная в ядро ​​системы. Если указано несколько
раз используется последнее значение.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-отлаживать Режим
Эта опция активирует компиляцию с отладкой. Он принимает следующие режимы. Когда
указанное несколько раз, используется комбинация всех режимов.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

Память Этот режим активирует отладку памяти для выделений, сделанных через Tcl.
ядро.

Символы
Этот режим активирует строительство всего ".c"файлы с отладочными символами.

Найти Этот режим активирует оба Память и Символы.

-запрещать имя
Этот параметр устанавливает значение параметра конфигурации пользовательской сборки. имя в ложный.
Это эквивалентно "-with-"имя 0».

Информация подтверждается только в том случае, если один из ".critcl"входные файлы на самом деле
определяет и использует настраиваемую опцию конфигурации сборки с этим имя.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

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

Информация подтверждается только в том случае, если один из ".critcl"входные файлы на самом деле
определяет и использует настраиваемую опцию конфигурации сборки с этим имя.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-сила Когда указанная компиляция выполняется всегда, даже если общая библиотека для файла
уже существует. Этот эффект можно получить, очистив кеш (см. Выше) как
ну разве что ленив в уничтожении файлов и не будет уничтожать файлы
не связанные с теми, которые мы строим.

Этот параметр не имеет значения при создании пакета (см. Параметр -упаковка ниже) потому что
этот режим начинается с уникального и пустого кеша результатов.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-Помощь Эта опция заставит систему распечатать краткую справку о синтаксисе командной строки.
и параметры, а затем выйдите из приложения.

-хранить Эта опция заставит систему сохранить ".c"файлы, созданные запуском в
кеш результатов. При создании пакета (см. Опцию -упаковка ниже) это также предотвращает
удаление уникального кэша результатов, используемого при выполнении. Этот вариант предназначен
для отладки криткл сам, где может потребоваться осмотр
сгенерированный код C.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-libdir путь
Этот параметр указывает путь, по которому пакеты, созданные с помощью параметра -упаковка
сохранены. Он также указывает путь для поиска библиотек, например, для -L. Когда
указанное несколько раз, используется последнее значение. Если вообще не указано
дефолт, "Lib", используется. Обратите внимание на то, что это относительный путь, поместив результат в
текущий рабочий каталог.

-includedir путь
Этот параметр указывает путь, по которому сохраняются любые сгенерированные заголовки пакетов.
Он также указывает путь для поиска включаемых файлов, например для -I. Когда указано
несколько раз последнее значение используется как место назначения, однако все предыдущие значения
сохраняются во включенном пути поиска. Если не указано вообще значение по умолчанию,
"включают", используется. Обратите внимание на то, что это относительный путь, поместив результат в
текущий рабочий каталог.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

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

Эта опция активирует один из других режимов - генерацию пакетов. В этом режиме
входные файлы сначала обрабатываются, как обычно, однако после этого они объединяются в
одна библиотека и дополнительные файлы создаются, чтобы сделать эту библиотеку пригодной для использования в качестве
обычный пакет Tcl.

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

В этом режиме параметры -чистый и -сила неуместны и игнорируются. Наоборот,
опция -libdir актуально как в этом, так и в -чай Режим.

Когда эта опция указана, базовое имя первого аргумента файла после
options используется как имя создаваемого пакета. Если продолжение этого
файл указывает на общую библиотеку (".так,.sl,.dylibи. DLL") это также
удален из набора входных файлов. А ".tcl"файл сохраняется как часть входных данных. A
предполагается, что один файл без расширения на самом деле имеет ".tcl"расширение. A
файл без расширения, но другие входные файлы, следующие за ним, обрабатываются как имя
собственно разделяемая библиотека и удалена из набора входных файлов.

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

-шоу Эта опция, если она указана, заставит систему распечатать конфигурацию
выбранная цель стандартный вывод а затем выйдите. На выбор цели можно повлиять
через опцию -целевой (Смотри ниже).

-показать все
Эта опция, если она указана, заставит систему распечатать все выбранные
файл конфигурации в стандартный вывод а затем выйдите. Выбор файла конфигурации может
быть под влиянием опции -конфигурация (см. выше).

-целевой имя
Этот параметр заменяет выбор цели сборки по умолчанию на выбор пользователя.
Если указано несколько раз, используется последнее значение. Указанная цель должна существовать
в выбранном конфигурационном файле. Вариант использования -цели (см. ниже), чтобы получить список
приемлемые цели. На выбор файла конфигурации можно повлиять через
опция -конфигурация (см. выше).

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай ниже).

-цели
Эта опция, если она указана, заставит систему распечатать список всех известных
цели из выбранного файла конфигурации в стандартный вывод а затем выйдите. Выбор
на файл конфигурации можно повлиять с помощью опции -конфигурация (см. выше).

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

Если оба варианта, т.е. -упаковка и -чай указаны последний указанный выигрыш.

В этом режиме параметры -I, -L, -чистый, -сила, -кэш, -includedir, -включить,
-запрещатькачества -с-FOO неуместны и игнорируются. Напротив, вариант -libdir
актуально как в этом, так и в -упаковка Режим.

Когда эта опция указана, базовое имя первого аргумента файла после
options используется как имя создаваемого пакета. Если продолжение этого
файл указывает на общую библиотеку (".так,.sl,.dylibи. DLL") это также
удален из набора входных файлов. А ".tcl"файл сохраняется как часть входных данных. A
предполагается, что один файл без расширения на самом деле имеет ".tcl"расширение. A
файл без расширения, но другие входные файлы, следующие за ним, обрабатываются как имя
собственно разделяемая библиотека и удалена из набора входных файлов.

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

-с-именем ценностное
Этот параметр устанавливает значение параметра конфигурации пользовательской сборки. имя в ценностное .

Информация подтверждается только в том случае, если один из ".critcl"входные файлы на самом деле
определяет и использует настраиваемую опцию конфигурации сборки с этим имя.

Этот параметр не имеет значения при создании пакета TEA (см. Параметр -чай выше).

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


Пакеты, сгенерированные Critcl, имеют следующую базовую структуру:

+ - pkgIndex.tcl
+ - criscl-rt.tcl
+ - license.terms (необязательно)
|
+ - tcl (необязательно)
| + -
|
+ -
+ -

Заметки

[1] Файл "pkgIndex.tcl"- стандартный индексный файл пакета, ожидаемый Tcl
управление пакетами. Он получен во время поиска пакетов и объявляет
пакет в Tcl с его файлами и как с ними обращаться.

[2] Файл "criscl-rt.tcl"- вспомогательный файл, содержащий общий код, используемый
"pkgIndex.tcl"выполнять свои задачи.

[3] Файл "лицензия.условия"не является обязательным и появляется только в том случае, если".critcl"подать
пакет генерируется из использованной команды criscl :: лицензия объявить пакет
автор и лицензия.

[4] Все файлы, объявленные с помощью команды criscl :: tsources помещаются в подкаталог
"TCL".

[5] Совместно используемая библиотека, созданная с помощью criscl, помещается в подпрограмму, специфичную для платформы.
каталог.

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

+ - pkgIndex.tcl
+ - criscl-rt.tcl
+ - license.terms (необязательно)
|
+ - tcl (необязательно)
| + -
|
+ -
| + -
+ -
| + -
+ -
+ -

ШАНГИ Для Версия 2.1


[1] Исправлена ​​ошибка, при которой criscl :: tsources относительные пути интерпретируются как относительные
текущий рабочий каталог вместо ".critcl"файл с помощью
command, как и все остальные команды этого типа.

[2] Исправлено внутреннее устройство, предотвращающее сбор информации для нескольких ".critcl"файлы в
течь между ними. В частности, criscl :: tk не является параметром глобальной конфигурации
больше.

[3] Исправлена ​​команда criscl :: лицензия быть нулевой операцией в режиме "компилировать и запускать",
вместо того, чтобы выдавать ошибку.

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

[5] Исправлена ​​ошибка, при которой изменение на ".critcl"файл не привел к перестройке для режима
"компилировать и запускать". Все соответствующие команды API теперь обеспечивают изменение UUID.

[6] Исправлена ​​ошибка в бэкэнд-обработке критик :: отладка где сопутствующие c-источники
а ".critcl"файл не был скомпилирован с параметрами отладки, хотя".critcl" файл
был.

[7] Исправлена ​​ошибка в критик :: отладка что препятствовало распознаванию режима "все", когда оно было
не первый аргумент команды.

[8] Исправлена ​​ошибка в "предварительная загрузка.c"предотвращение его компиляции на платформах, отличных от Windows.

[9] Исправлена ​​давняя ошибка в обработке квалификаторов пространства имен в имени команды.
аргумент criscl :: cproc и criscl :: ccommand. Теперь можно указать
полное имя команды без проблем.

[10] Расширен / переработан criscl :: tsources быть каноническим способом объявления ".tcl"
сопутствующие файлы даже для режима "компилировать и запускать".

[11] Расширен / переработан criscl :: tsources чтобы разрешить использование ".critcl"файл как собственный
Сопутствующий файл Tcl.

[12] Расширенный criscl :: framework для внутренней проверки цели сборки OS X и игнорирования
объявление, если его нет.

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

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

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

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

[17] Новая команда criscl :: load заставляет сборку и загрузку ".critcl"файл. Это
официальный способ переопределить стандартную схему lazy-build - & - load-on-demand.
для режима "компилировать и запускать".

Внимание что после использования criscl :: load / критик :: не удалось в ".critcl"файл это не
можно больше использовать команды Critcl в этом файле. Это вызовет ошибку.

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

[19] Расширенный criscl :: check с ведением журнала, чтобы помочь с отладкой проверок времени сборки
environment, а также дополнительный необязательный аргумент для маркировки.

[20] Добавлена ​​новая команда criscl :: checklink который не только пытается проверить окружающую среду
через компиляцию кода, а также возможность его связывания.

[21] Добавлена ​​новая команда criscl :: msg для обмена сообщениями, например команды критик :: ошибка для
Отчет об ошибках. Точно так же это ловушка, которую пользователь пакета может использовать
переопределить. Реализация по умолчанию, используемая режимом компилировать & пробег ничего не делает. В
реализация для режима порождать пакет выводит сообщение на стандартный вывод.

Предполагаемое использование - для отчета о результатах, определенных criscl :: check и
criscl :: checklink во время сборки, чтобы помочь с отладкой, когда что-то пойдет не так
с чеком.

[22] Раскрыты внутренние механизмы обработки аргументов criscl :: proc для использования продвинутыми
пользователей. Новые команды

[1] criscl :: argnames

[2] criscl :: argcnames

[3] criscl :: argcsignature

[4] criscl :: argvardecls

[5] criscl :: argconversion

См. Раздел Фильтр Встроенный C Code криткл пакетная документация для
Детали.

[23] Расширен пакет Critcl для перехвата пакет обеспечивать и запишите файл ->
сопоставление имени пакета. Плюс другие внутренние изменения теперь позволяют использовать пространство имен
имена пакетов, все еще используя правильные имена путей и функцию инициализации.

[24] Убрали неиспользуемые команды criscl :: optimize и criscl :: include.

[25] Исключено -lib режим из приложения Critcl.

[26] Отброшены остатки поддержки Tcl 8.3 и ранее.

ШАНГИ Для Версия 3


[1] Команда criscl :: платформа устарела в версии 2.1, заменена
criscl :: targetplatform, но сохранен для совместимости. Сейчас его сняли.

[2] Команда критик :: скомпилирован был сохранен в версии 2.1 с семантикой в
противоречие своему, для совместимости. Это противоречие снято,
изменение видимой семантики команды, чтобы она соответствовала ее имени.

[3] Изменение версии 3 стало необходимым из-за двух несовместимых видимых
изменения выше.

[4] В пакет приложения добавлена ​​новая опция обработки кода. -чай. Указание
эта опция вызывает специальный режим, в котором criscl генерирует пакет TEA, т. е. обертывает
ввод в иерархию каталогов и вспомогательные файлы, которые обеспечивают его ЧАСТЬ-
похожая система сборки.

Этот новый вариант и -упаковка, исключают друг друга. Если указаны оба, последний использованный
вариант имеет приоритет.

Сгенерированная иерархия каталогов пакетов в основном самодостаточна, но не полностью.
Требуется не только рабочая установка Tcl, но и рабочие установки.
пакетов md5 и командная строка. Оба они предоставляются Tcllib расслоение.
Не требуется, но рекомендуется установить любые из пакетов, которые могут
ускорить работу md5, т.е. криптокит, tcllibcили у.т..

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

Обратите внимание, что это статический сканировать. В то время как другие режимы сборки могут (должны) выполнять
".critcl"файл и принимать решения для конкретной платформы относительно собранного кода C,
сопутствующие файлы и т. д. режим обертывания TEA не в состоянии сделать платформу
конкретные решения. В него нужно завернуть все, что предположительно может понадобиться
при собственном строительстве. Отсюда статическое сканирование. Однако у этого есть свой собственный набор
проблемы, а именно невозможность разобраться в каком-либо динамическом построении компаньона
пути к файлам, по крайней мере, отдельно. Таким образом:

[6] Расширен API, используемый пакетами на основе Critcl, с помощью команды criscl :: владеет. В то время как
эта команда игнорируется обычными режимами сборки, описанными статическим сканером
выше принимает свои аргументы как имена сопутствующих файлов, которые необходимо обернуть
в пакет TEA и не может быть определен сканером в противном случае, например
из-за динамических путей к criscl :: tsources, criscl :: csources, получение
напрямую или просто являясь дополнительными файлами данных.

[7] Расширен API, используемый пакетами на основе Critcl, с помощью команды criscl :: api для
управление таблицами-заглушками, будь то их использование и / или объявление и экспорт.

См. Раздел Столбики Настольные Руководство криткл пакетная документация для
Детали.

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

См. Раздел На заказ строить Конфигурация криткл пакетная документация
для получения информации.

[9] Расширен API, используемый пакетами на основе Critcl, с помощью команд
criscl :: описание, критик :: резюме, criscl :: subject, criscl :: metaкачества
criscl :: buildrequirement для объявления метаданных TEApot для / о
пакет.

См. Раздел Упаковка Мета Данные криткл пакетная документация для
Детали.

ШАНГИ Для Версия 3.0.1


[1] Исправления повсюду. В деталях:

[2] Исправлена ​​запись требований к версии Tcl. Сохранить название и версию пакета
вместе, устраняя сгенерированные метаданные и сгенерированную команду загрузки пакета.

[3] Исправлены скрипты сборки: при установке или упаковке для TEA генерируются все отсутствующие
каталоги

[4] Изменены скрипты сборки для правильного выхода из приложения, когда окно
их графический интерфейс закрывается кнопкой (X).

[5] Удален 8.5-ism (open wb), который проскользнул в основной скрипт сборки.

[6] Изменены примеры сценариев сборки, чтобы разделить вывод для разных
примеры (и пакеты), добавляя пустые строки.

[7] stack :: c: пример исправления ошибки: включение объявлений API для использования в сопутствующих файлах.

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

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

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

ШАНГИ Для Версия 3.0.2


[1] Исправлена ​​проблема в режиме компиляции и запуска, когда команды, помещенные в auto_index, не
найден командой [unknown] Tcl.

[2] Исправлено несоответствие ключей массива, нарушающее использование клиентских данных и функции удаления для
процедура. Об этом сообщил Джос ДеКостер с патчем.

[3] Реализована опция командной строки. -L, эквивалент опции -I, только для библиотеки
пути поиска.

[4] Исправлены проблемы с github 5 и 8. Работа с отсутствующей переменной :: errorInfo. Это
всегда должен присутствовать, однако, похоже, есть версии Tcl, вокруг которых
нарушают это предположение.

ШАНГИ Для Версия 3.0.3


[1] Исправлены проблемы с github 5 и 8 для примера скриптов build.tcl. Работая вокруг
отсутствует переменная :: errorInfo. Он всегда должен присутствовать, но, кажется,
доработки Tcl, вокруг которых нарушается это предположение.

ШАНГИ Для Версия 3.0.4


[1] Исправлена ​​генерация имени инициализации пакета при чтении входящего кода из
stdin и не имеет правильного пути.

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

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

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

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

[6] Изменена обработка аргументов. Параметр -libdir теперь также подразумевает -L в качестве аргумента.

[7] Расширенная обработка опции -show (criscl :: showconfig), чтобы указать путь к
файл конфигурации, из которого берутся данные. Подходит для отладки конфигурации
обработка.

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

ШАНГИ Для Версия 3.0.5


[1] Исправлена ​​ошибка в новом коде для прагм #line, запускаемых при указании кода C
без пробелов в начале.

[2] В документацию добавлены страницы руководства по лицензии, поиску источников и т. Д.
установщик и руководства разработчика.

ШАНГИ Для Версия 3.0.6


[1] Исправлена ​​проблема с github 10. Приложение criscl теперь предоставляет правильный код выхода (1)
при сбое сборки вместо того, чтобы всегда указывать на успех (статус 0).

[2] Исправлена ​​проблема с github 13. Обработка bufferoverflowU.lib для сборок выпуска была
несовместимо с обработкой отладочных сборок. Теперь обрабатывается идентично
(условно) в обоих случаях.

[3] Очистка документации, в основном в руководстве по установке, и файл README.md, показанный
GitHub

ШАНГИ Для Версия 3.0.7


[1] Исправлен код, сгенерированный criscl :: c ++ команда. Выданный код передал не-
статическая таблица строк для Tcl_GetIndexFromObj, в нарушение договора, который
требует, чтобы таблица имела фиксированный адрес. Это был удар памяти, ожидающий
случаться. Спасибо Брайану Гриффину за то, что обратил внимание на общую проблему.

ШАНГИ Для Версия 3.1


[1] Добавлен новый пакет более высокого уровня criscl :: iassoc.

Этот пакет упрощает создание кода, связывающего данные с интерпретатором.
через Tcl Tcl_ (Получить | Установить) AssocData () API. Пользователь может сосредоточиться на своих данных, пока
весь необходимый шаблонный код C для поддержки этого генерируется пакетом.

Этот пакет использует несколько новых функций, которые были добавлены в ядро. криткл
пакет, см. ниже.

[2] Добавлен пакет более высокого уровня критик :: класс.

Этот пакет упрощает создание объектов уровня C с классом и экземпляром
команды. Пользователь может написать определение класса с переменными класса и экземпляра.
и -методы, аналогичные классу TclOO, со всем необходимым стандартным кодом C для
поддержите это, сгенерированное пакетом.

Этот пакет использует несколько новых функций, которые были добавлены в ядро. криткл
пакет, см. ниже.

[3] Расширен API для обработки метаданных TEApot. Добавлена ​​команда criscl :: meta? в
запросить сохраненную информацию. Основное использование, которое в настоящее время предусматривается, - это поиск
имя текущего пакета командами утилиты для использования в построенных именах. Этот
конкретная информация всегда доступна благодаря статическому сканированию пакета
файл при выполнении первой команды criscl.

Новые пакеты criscl :: iassoc и критик :: класс (см. выше) являются пользователями этого
команда.

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

Новый пакет критик :: класс (см. выше) является пользователем этой команды.

[5] Расширен API с помощью команды, criscl :: source, выполняя команды criscl, найденные в
отдельный файл в контексте текущего файла. Это упрощает управление
больших объемов кода, поскольку это позволяет пользователю разбивать их на более простые
переваривать более мелкие фрагменты, не вызывая генерации нескольких пакетов.

[6] В связи с предыдущим пунктом, API расширен командами для перенаправления сбора
сгенерированного кода C в память. Это упрощает использование команд для
встроенный код C в генераторы кода более высокого уровня.

Смотрите раздел Дополнительно: Диверсии для получения подробной информации о предоставляемых командах.

Новый пакет критик :: класс (см. выше) является пользователем этих средств.

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

Смотрите раздел Дополнительно: Адрес управление для получения подробной информации о предоставляемых командах.

Новые пакеты criscl :: iassoc и критик :: класс (см. выше) являются пользователями этих
объектов.

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

Смотрите раздел Дополнительно: простирающийся cproc для получения подробной информации о предоставляемых командах.

ШАНГИ Для Версия 3.1.1


[1] Исправления повсюду. В деталях:

[2] Исправлено формирование неправильных # ошибок аргументов для criscl :: cproc и производный код
(критик :: класс методы на основе cproc). Используйте NULL, если аргументов нет, и возьмите
смещение во внимание.

[3] Исправлена ​​обработка имен пакетов критик :: класс. Забыл, что они могут содержать
разделители пространства имен. Выскочил на версию 1.0.1.

[4] Расширенный критик :: класс сгенерировано сообщение об ошибке при создании экземпляра для ясности.
Выскочил до версии 1.0.2.

ШАНГИ Для Версия 3.1.2


[1] Улучшение. В деталях:

[2] Расширенный criscl :: cproc чтобы иметь возможность обрабатывать необязательные аргументы ограниченным образом.
Это автоматически доступно для критик :: класс методы, основанные на cproc.

[3] Исправление в сдавать эмуляция для Tcl 8.4. Правильно установите неиспользуемые переменные в
пустой строки. Улучшенная версия пакета эмуляции lassign84 в 1.0.1.

ШАНГИ Для Версия 3.1.3


[1] Улучшение. В деталях:

[2] Добавлен новый тип аргумента «pstring» для «Pascal String», подсчитываемая строка, т. Е.
комбинация указателя строки и длины строки.

[3] Добавлены новые методы criscl :: argtypesupport и :: critcl :: argsupport определять и использовать
дополнительный вспомогательный код для типа аргумента, здесь используется "pstring" выше для
определить необходимую структуру.

[4] Полу-исправления в пакетах критик :: класс и criscl :: iassoc. Прагмы для AS
сканер метаданных, чтобы убедиться, что файлы шаблонов являются частью пакета.
Версии подскочили до 1.0.4 и 1.0.1 соответственно.

ШАНГИ Для Версия 3.1.4


[1] Исправление в пакете критик :: класс. Создайте фиктивное поле в структуре класса, если
класс не имеет переменных класса. Без этого изменения структура была бы пустой,
и ряд компиляторов не могут обрабатывать такой тип.

[2] Исправлена ​​опечатка, нарушающая конфигурацию win64.

[3] Исправлена ​​ошибка №16, опечатка в документации по команде. критик :: класс.

ШАНГИ Для Версия 3.1.5


[1] Исправлена ​​проблема №19. Сделано регулярное выражение, извлекающее номер версии MSVC
более общий, чтобы заставить его работать в системах немецкого языка. Возможно, это должно быть
пересмотрена в будущем для других локалей Windows.

[2] Исправлена ​​ошибка №20. Сделана опция -tea для работы с окнами, по крайней мере, в эмуляции unix.
окружение вроде msys / mingw.

ШАНГИ Для Версия 3.1.6


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

[2] Исправлена ​​проблема №22, обработка аргументов идентификатора команды
criscl :: ccommand, criscl :: cprocкачества criscl :: cdata. Теперь мы правильно разрешаем любой Tcl
идентификатор и сгенерировать из них правильные внутренние идентификаторы C.

В рамках этого подпись команды criscl :: name2c измененный. Команда сейчас
предоставляет список из четырех значений вместо трех. Новое значение было добавлено на
конец.

Далее адаптировали реализацию пакета критик :: класс, пользователь
criscl :: name2c. Сейчас этот пакет имеет версию 1.0.6 и требует криткл 3.1.6.

Наконец, исправлено неправильное обращение с опцией. -имя in criscl :: ccommandкачества
criscl :: cproc.

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

ШАНГИ Для Версия 3.1.7


[1] Исправлена ​​проблема №24. Извлечь и безоговорочно отобразить предупреждения компилятора, найденные в
построить журнал. Не позволяет пользователям пропускать предупреждения, которые, не вызывая сборки
не удалось, все еще может указывать на проблемы.

[2] Новая функция. Выходной крючок. Весь пользовательский вывод, не связанный с обменом сообщениями, теперь маршрутизируется через
команду criscl :: print, и пользователям разрешено переопределять его при использовании criscl
приложение как пакет.

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

ШАНГИ Для Версия 3.1.8


[1] Исправлена ​​проблема с индексами пакетов, созданными для Tcl 8.4. Присоединяйтесь к списку команд
с точкой с запятой, а не новой строкой.

[2] Исправлена ​​проблема № 26, из-за которой возникали варианты использования, которые я забыл учесть при исправлении.
ошибка №21 (см. крит. cl 3.1.6).

ШАНГИ Для Версия 3.1.9


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

[2] Исправлена ​​проблема №28. Добавлены отсутствующие флаги -mXX для линковки в linux- {32,64} - *
целей.

[3] Исправлена ​​ошибка №29. Заменено использование сырых "читеров" информации при обработке
of "cdefines" с соответствующими директивами include, производными от него.

[4] Исправлена ​​проблема, связанная с отклонением запроса на вытягивание №30 Эндрю Шадура. Динамически
извлеките объявления переменных заглушек из файлов заголовков Tcl и сгенерируйте
сопоставление определений переменных для использования в коде пакета. Сгенерированный код будет
теперь всегда согласовываться с заголовками, даже если их собственная копия criscl
заменены системными заголовками.

[5] Исправлена ​​проблема №31. Принято патч Эндрю Шадура, с изменениями (комментариями), для
более легкая интеграция Critcl с системами пакетов ОС, заменяющая копии Critcl
Заголовки Tcl с собственными.

[6] Исправлена ​​ошибка №32. Объединенный пулреквест Эндрю Шадура. Различные опечатки в
документация и комментарии.

[7] Исправлена ​​проблема №33. Лучше обрабатывать файлы, начинающиеся с точки.

АВТОРЫ


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

Используйте Critcl в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Zabbix
    Zabbix
    Zabbix — это открытый корпоративный класс.
    исходное распределенное решение для мониторинга
    предназначен для наблюдения и отслеживания
    производительность и доступность сети
    серверы, устройства...
    Скачать Zabbix
  • 2
    KDiff3
    KDiff3
    Этот репозиторий больше не поддерживается
    и хранится в архивных целях. Видеть
    https://invent.kde.org/sdk/kdiff3 for
    новейший код и
    https://download.kde.o...
    Скачать KDiff3
  • 3
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX — это графический интерфейс для
    USB-загрузчик Ванинкоко, основанный на
    libwiigui. Он позволяет перечислять и
    запуск игр Wii, игр Gamecube и
    доморощенный на Wii и WiiU...
    Скачать USBLoaderGX
  • 4
    Жар-птица
    Жар-птица
    СУБД Firebird предлагает функции ANSI SQL
    & работает на Linux, Windows и
    несколько Unix-платформ. Функции
    отличный параллелизм и производительность
    & сила...
    Скачать Firebird
  • 5
    KompoZer
    KompoZer
    KompoZer — это wysiwyg HTML-редактор, использующий
    кодовая база Mozilla Composer. В виде
    Разработка Нву остановлена
    в 2005 году KompoZer исправляет множество ошибок и
    добавляет ф...
    Скачать Композер
  • 6
    Бесплатная загрузка манги
    Бесплатная загрузка манги
    Free Manga Downloader (FMD) — это
    приложение с открытым исходным кодом, написанное на
    Object-Pascal для управления и
    скачивание манги с разных сайтов.
    Это зеркало...
    Скачать бесплатный загрузчик манги
  • Больше »

Команды Linux

Ad