問題タブ [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.

0 投票する
1 に答える
49 参照

perl - XS から現在のコンテキストにアクセスするには?

XSユーザーがパッケージから呼び出した場合、使用main::できません

main::DOC用とDOC用のフレームがないためXSUB

XSUB はスタック フレームを取得しないことに注意してください。そのため、C はすぐ周囲の Perl コードの情報を返します。

file:lineが呼び出された情報、スコープXSUBのヒントなどを取得するにはどうすればよいですか?main::

0 投票する
0 に答える
81 参照

perl - `XSUB` が `&sub` を使用して呼び出されたことを知ることは可能ですか?

PPサブが呼び出されると、このCXサブの が作成されます。
このコンテキストにアクセスすることで、CxHASARGS(CX_CUR())このサブルーチンをチェックできhasargsます。

ただし、XSUBコンテキストが作成されていないため、このトリックは使用できません。

XSUBを使用して呼び出されたかどうかを知ることは可能&subですか?

UPD
のソースをpp_entersub見るcvXSUB. コードが をどのように処理するかを見ることができますhasargs。アクセスPL_op->op_flags & OPf_STACKEDし、少し後でターゲットを呼び出しますXSUB

XSUBで同じチェックをしてもよろしいPL_op->op_flags & OPf_STACKEDでしょうか?