## Tcl9.0.3/Tk9.0.3 Documentation > Tcl Commands > platform

### 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

platform — 命令譜と便益を運用している体系の識別 System identification support code and utilities

### 構文 SYNOPSIS

package require platform ?1.0.10?
platform::generic
platform::identify
platform::patterns identifier

### 説明 DESCRIPTION

この platform 梱包は､Tcl が実行されている機械装置の構造の識別に役立つ幾つかの利便性のある命令を提供する｡ The platform package provides several utility commands useful for the identification of the architecture of a machine running Tcl.

現在の構造(特に､OSと機械部品の)を識別する為に Tcl は tcl_platform 配列を与えているが必ずしも十分ではない｡その理由は(Unix機械では)､ tcl_platform は uname 命令の戻り値を参照しているが､これらはOSと構造を横断しては標準化されていない｡更に､少なくとも一つのOS(AIX)上で､tcl_platform(machine) は中央演算装置の製造番号を含んでいる｡ Whilst Tcl provides the tcl_platform array for identifying the current architecture (in particular, the platform and machine elements) this is not always sufficient. This is because (on Unix machines) tcl_platform reflects the values returned by the uname command and these are not standardized across platforms and architectures. In addition, on at least one platform (AIX) the tcl_platform(machine) contains the CPU serial number.

結果として､個別の応用譜が tcl_platform の中の値を操作する為に必要とし(系固有の便益の出力に従って) - それは､開発者への不便と､構造の識別と名前の規則の不一致の可能性､の両方が存在する｡ Consequently, individual applications need to manipulate the values in tcl_platform (along with the output of system specific utilities) - which is both inconvenient for developers, and introduces the potential for inconsistencies in identifying architectures and in naming conventions.

この platform 梱包は､この様な断片化を防ぐ､-即ち､Tclが実行されている構造について標準の名前の規則を確立し､そして､Tcl算譜が実行されている現在の機構を識別して開発者により便利になるようにする｡ The platform package prevents such fragmentation - i.e., it establishes a standard naming convention for architectures running Tcl and makes it more convenient for developers to identify the current architecture a Tcl program is running on.

### COMMANDS

platform::identify
  この命令は､Tclの核が実行されているOSを記述した識別子を返す｡返ってきた識別子は一般書式 OS-CPU を有す｡識別子の OS 部は､核版､libc版､等の詳細を有するかもしれず､この情報は同じようにダッシュ(-)を含んでいるかもしれない｡ CPU 部はダッシュ(-)は含まず､その前に付いていたダッシュが結果の最後のダッシュになっている｡ This command returns an identifier describing the platform the Tcl core is running on. The returned identifier has the general format OS-CPU. The OS part of the identifier may contain details like kernel version, libc version, etc., and this information may contain dashes as well. The CPU part will not contain dashes, making the preceding dash the last dash in the result.

platform::generic
  この命令は､Tcl核が実行されているOSを記述する識別子の簡略形を返す｡ platform::identify とは反対に､核版､libc版､等の詳細は捨て去る｡返ってきた識別子は､一般書式 OS-CPU を有す｡ This command returns a simplified identifier describing the platform the Tcl core is running on. In contrast to platform::identify it leaves out details like kernel version, libc version, etc. The returned identifier has the general format OS-CPU.

platform::patterns identifier
  この命令は､ platform::identify から戻った識別子をとり､互換性のある構造を記述する識別子のリストを返す｡ This command takes an identifier as returned by platform::identify and returns a list of identifiers describing compatible architectures.

### 用例 EXAMPLE

これは応用譜に､多重に２進符号化した共有外部函数の同梱を許容することで､同じ梱包がOSの複数の版上で動く様にする｡譬えば: This can be used to allow an application to be shipped with multiple builds of a shared library, so that the same package works on many versions of an operating system. For example:

    package require platform
    # 応用譜が .../theapp/bin/theapp.tclであることを仮定する
    # Assume that app script is .../theapp/bin/theapp.tcl
    set binDir [file dirname [file normalize [info script]]]
    set libDir [file join $binDir .. lib]
    set platLibDir [file join $libDir [platform::identify]]
    load [file join $platLibDir support[info sharedlibextension]]

### KEYWORDS

operating system, cpu architecture, platform, architecture
Copyright © 2006 ActiveState Software Inc