Overview 概要
You use this protocol to present a native Swift interface to a C “varargs” API. For example, a program can import a C API like the one defined here: あなたは、このプロトコルを使ってSwift固有のインターフェースをC「varags」APIに贈呈します。例えば、あるプログラムはC APIをここで定義されるもののようにインポートできます:
To create a wrapper for the c
function, write a function that takes CVar
arguments, and then call the imported C function using the with
function:
c
関数に対するラッパーを作成するには、CVar
引数をとる関数を書いて、それからインポートされたC関数をwith
関数を使って呼び出してください:
Swift only imports C variadic functions that use a va
for their arguments. C functions that use the ...
syntax for variadic arguments are not imported, and therefore can’t be called using CVar
arguments.
Swiftは、C可変長引数関数で、va
をそれの引数として使うものをインポートするだけです。...
構文を可変長引数に使うC関数はインポートされません、そしてそれゆえCVar
引数を使って呼び出されることができません。
If you need to pass an optional pointer as a CVar
argument, use the Int(bit
initializer to interpret the optional pointer as an Int
value, which has the same C variadic calling conventions as a pointer on all supported platforms.
あなたがオプショナル値をCVar
引数として渡す必要があるならば、Int(bit
イニシャライザを使って、オプショナルポインタをInt
値として解釈してください、それは全てのサポートされるプラットホーム上のポインタと同じC可変長引数呼出規約を持ちます。
Note 注意
Declaring conformance to the CVar
protocol for types defined outside the standard library is not supported.
標準ライブラリ外で定義される型に対してCVar
プロトコルへの準拠を宣言することは、サポートされません。