Skip to content

duk_to_pointer()

1.0.0 stack

プロトタイプ

c
void *duk_to_pointer(duk_context *ctx, duk_idx_t idx);

スタック

| ... | val | ... | -> | ... | pointer(val) | ... |

要約

idxの値をポインタに強制された値で置き換えます。結果として得られる void * 値を返す。idxが無効な場合、エラーを投げます。。

強制適用ルール。

ポインタ: それ自身に強制され、変更はない。 すべてのヒープ割り当てオブジェクト(文字列、オブジェクト、バッファ): Duktape内部ヒープ・ヘッダを指すポインタに強制されます(デバッグにのみ使用、読み書きは不可)。 その他の型:NULLに変換 このAPIコールは、実際にはデバッグにのみ有用です。特に、内部ヒープヘッダを指しているため、返されたポインタにアクセスしてはならないことに注意。これは、文字列/バッファ値の場合でも同様です。返されるポインタは、 duk_get_string() や duk_get_buffer() が返すものとは異なります。

c
/* Don't dereference the pointer. */
printf("coerced pointer: %p\n", duk_to_pointer(ctx, -3));