Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства является частью версии 5.0 Инструментов XCode

Получить эти инструменты:

Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



Tcl_RegisterConfig(3)                      Tcl Library Procedures                      Tcl_RegisterConfig(3)



____________________________________________________________________________________________________________

NAME
       Tcl_RegisterConfig - procedures to register embedded configuration information

SYNOPSIS
       #include <tcl.h>

       void
       Tcl_RegisterConfig(interp, pkgName, configuration, valEncoding)


ARGUMENTS
       Tcl_Interp *interp (in)                 Refers to the interpreter the embedded configuration informa-tion information
                                               tion is registered for. Must not be NULL.

       const char *pkgName (in)                Contains the name of the  package  registering  the  embedded
                                               configuration  as ASCII string. This means that this informa-tion information
                                               tion is in UTF-8 too. Must not be NULL.

       Tcl_Config *configuration (in)          Refers to an  array  of  Tcl_Config  entries  containing  the
                                               information embedded in the binary library. Must not be NULL.
                                               The end of the array is signaled by either a key identical to
                                               NULL, or a key referring to the empty string.

       const char *valEncoding (in)            Contains  the name of the encoding used to store the configu-ration configuration
                                               ration values as ASCII string. This means that this  informa-tion information
                                               tion is in UTF-8 too. Must not be NULL.
____________________________________________________________________________________________________________


DESCRIPTION
       The  function  described  here  has  its  base in TIP 59 and provides extensions with support for the
       embedding of configuration information into their binary library and the generation  of  a  Tcl-level
       interface for querying this information.

       To  embed  configuration  information  into  their  binary  library an extension has to define a non-volatile nonvolatile
       volatile array of Tcl_Config entries in one if its source files and then call  Tcl_RegisterConfig  to
       register that information.

       Tcl_RegisterConfig takes four arguments; first, a reference to the interpreter we are registering the
       information with, second, the name of the package registering its configuration information, third, a
       pointer  to an array of structures, and fourth a string declaring the encoding used by the configura-tion configuration
       tion values.

       The string valEncoding contains the name of an encoding known to Tcl.  All these names are  use  only
       characters in the ASCII subset of UTF-8 and are thus implicitly in the UTF-8 encoding. It is expected
       that keys are legible English text and therefore using the ASCII subset of  UTF-8.  In  other  words,
       they  are expected to be in UTF-8 too. The values associated with the keys can be any string however.
       For these the contents of valEncoding define which encoding was used to represent the  characters  of
       the strings.

       Each  element of the configuration array refers to two strings containing the key and the value asso-ciated associated
       ciated with that key. The end of the array is signaled by either an empty key or a key  identical  to
       NULL.  The  function makes no copy of the configuration array. This means that the caller has to make
       sure that the memory holding this array is never released. This is the meaning behind the  word  non-volatile nonvolatile
       volatile  used  earlier.  The  easiest  way  to accomplish this is to define a global static array of
       Tcl_Config entries. See the file "generic/tclPkgConfig.c" in the sources of the Tcl core for an exam-ple. example.
       ple.

       When called Tcl_RegisterConfig will

       (1)    create a namespace having the provided pkgName, if not yet existing.

       (2)    create the command pkgconfig in that namespace and link it to the provided information so that
              the keys from _configuration_ and their associated values can be retrieved  through  calls  to
              pkgconfig.

       The command pkgconfig will provide two subcommands, list and get:

              ::pkgName::pkgconfig list
                     Returns a list containing the names of all defined keys.

              ::pkgName::pkgconfig get key
                     Returns the configuration value associated with the specified key.

TCL_CONFIG
       The Tcl_Config structure contains the following fields:

              typedef struct Tcl_Config {
                  const char* key;
                  const char* value;
              } Tcl_Config;

KEYWORDS
       embedding, configuration, binary library



Tcl                                                  8.4                               Tcl_RegisterConfig(3)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Tcl.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Tcl через их страницу создания отчетов ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.