## Tcl8.6.17/Tk8.6.17 Documentation > Tcl C API > StaticPkg

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tcl_StaticPackage — 静的連結された梱包を 'load' 命令経由で利用可能にする　 make a statically linked package available via the 'load' command
  SYNOPSIS
    #include <tcl.h>
    Tcl_StaticPackage(interp, prefix, initProc, safeInitProc)
  引数 ARGUMENTS
    Tcl_Interp *interp (入力in)
    const char *prefix (in)
    Tcl_PackageInitProc *initProc (入力in)
    Tcl_PackageInitProc *safeInitProc (入力in)
  説明 DESCRIPTION
  KEYWORDS
  SEE ALSO

### NAME

Tcl_StaticPackage — 静的連結された梱包を 'load' 命令経由で利用可能にする　 make a statically linked package available via the 'load' command

### SYNOPSIS

#include <tcl.h>
Tcl_StaticPackage(interp, prefix, initProc, safeInitProc)

### 引数 ARGUMENTS

Tcl_Interp *interp (入力in)
  NULL でない場合､その中に既に梱包が組込まれた解釈実行機能を指す(即ち､呼出し者は既に適切な初期化手続函数を起動した)｡NULL は梱包は未だどの解釈実行機能にも統合されていない｡　 If not NULL, points to an interpreter into which the package has already been loaded (i.e., the caller has already invoked the appropriate initialization procedure). NULL means the package has not yet been incorporated into any interpreter.

const char *prefix (in)
  外部函数の初期化函数の為の冒頭部; 適切に頭文字を大文字化する(頭文字を大文字､他の全ては小文字)｡　 Prefix for library initialization function; should be properly capitalized (first letter upper-case, all others lower-case).

Tcl_PackageInitProc *initProc (入力in)
  この梱包を信頼できる解釈実行機能に統合する為に起動すべき手続函数｡　 Procedure to invoke to incorporate this package into a trusted interpreter.

Tcl_PackageInitProc *safeInitProc (入力in)
  この梱包を安全な解釈実行機能(信頼できない記述譜を実行する)に統合する為に呼出す手続函数｡NULLは梱包が安全な解釈実行機能内で使用できないことを意味する｡　 Procedure to call to incorporate this package into a safe interpreter (one that will execute untrusted scripts). NULL means the package cannot be used in safe interpreters.

### 説明 DESCRIPTION

この手続函数は､梱包が既に Tcl 応用譜に静的に連結されている､或は､追加指示により既に解釈実行機能に組込まれていることを､告げるために起動される｡一度 Tcl_StaticPackage が梱包の為に起動されると､ load 命令を使って解釈実行機能内に組込み得る｡ Tcl_StaticPackage は通常､応用譜の為に Tcl_AppInit によってのみ起動され､自身の為に梱包から起動されはしない( Tcl_StaticPackage は静的に組込まれた梱包としてのみ起動され､梱包内の命令符号自身は梱包が動的に又は静的に組込まれたかのどちらかであることを知る必要はない)｡ This procedure may be invoked to announce that a package has been linked statically with a Tcl application and, optionally, that it has already been loaded into an interpreter. Once Tcl_StaticPackage has been invoked for a package, it may be loaded into interpreters using the load command. Tcl_StaticPackage is normally invoked only by the Tcl_AppInit procedure for the application, not by packages for themselves (Tcl_StaticPackage should only be invoked for statically loaded packages, and code in the package itself should not need to know whether the package is dynamically or statically loaded).

梱包を解釈実行機能に積み込むために､その load 命令が後に使われる時､目標解釈実行機能が安全か否かによって initProc と safeInitProc の内の１つが起動される｡ initProc と safeInitProc の両方は次の原型に合致する必要がある: When the load command is used later to load the package into an interpreter, one of initProc and safeInitProc will be invoked, depending on whether the target interpreter is safe or not. initProc and safeInitProc must both match the following prototype:

    typedef int Tcl_PackageInitProc(
            Tcl_Interp *interp);

interp 引数はその中に梱包が組込まれている解釈実行機能を識別する｡初期化手続函数は､それが成功裏に完結したかを指し示す為に TCL_OK か TCL_ERROR を返さねばならない; 不都合の行事内では不都合伝言文を指す解釈実行機能の結果を設定する｡初期化手続函数の結果又は不都合は load 命令の結果として返され､それが初期化手続函数を起動する原因になる｡ The interp argument identifies the interpreter in which the package is to be loaded. The initialization procedure must return TCL_OK or TCL_ERROR to indicate whether or not it completed successfully; in the event of an error it should set the interpreter's result to point to an error message. The result or error from the initialization procedure will be returned as the result of the load command that caused the initialization procedure to be invoked.

### KEYWORDS

initialization procedure, package, static linking

### SEE ALSO

load, package, Tcl_PkgRequire
Copyright © 1995-1996 Sun Microsystems, Inc.