問題タブ [perl-xs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - XS から現在のコンテキストにアクセスするには?
XS
ユーザーがパッケージから呼び出した場合、使用main::
できません
main::
DOC用とDOC用のフレームがないためXSUB
XSUB はスタック フレームを取得しないことに注意してください。そのため、C はすぐ周囲の Perl コードの情報を返します。
file:line
が呼び出された情報、スコープXSUB
のヒントなどを取得するにはどうすればよいですか?main::
perl - `XSUB` が `&sub` を使用して呼び出されたことを知ることは可能ですか?
PP
サブが呼び出されると、このCX
サブの が作成されます。
このコンテキストにアクセスすることで、CxHASARGS(CX_CUR())
このサブルーチンをチェックできhasargs
ます。
ただし、XSUB
コンテキストが作成されていないため、このトリックは使用できません。
XSUB
を使用して呼び出されたかどうかを知ることは可能&sub
ですか?
UPD
のソースをpp_entersub
見るcv
とXSUB
. コードが をどのように処理するかを見ることができますhasargs
。アクセスPL_op->op_flags & OPf_STACKED
し、少し後でターゲットを呼び出しますXSUB
。
XSUB
で同じチェックをしてもよろしいPL_op->op_flags & OPf_STACKED
でしょうか?