私はCPythonソースコードを見てきましたが、ほとんどのモジュールではpython.h
がインポートを行います。コードをトレースするだけで、Py_Main()
ルーチンがスコープに配置されるポイントを見つけることができません。CPythonでは、Py_Mainはどこでスコープに入れられますか?
私はModules/main.c
内部Py_Main
の定義だけでなく、include/pylifecycle.h
でプロトタイプを見つけた、私はちょうどそれがからインポートなってきた場合、またはこれがmake
とリンカレベルで行われている場合つなぎ合わせるように見えることはできません。
TLDR: #include "python.h"
,現在、そこに注入されたのはどの時点ですか?
私はそれに気付きました。しかし、実際の定義は 'Modules/main.c'ファイルにあります。これはコード内での参照がありません。 – SamuelN
@ SamuelN:関数がどのようにコンパイルされ、リンクされているのか疑問に思っているなら、それはあなたが尋ねたものとはまったく異なる問題です。 – user2357112
@ user2357112そうです、それは私の質問に含めましたか、またはこれがリンカーレベルでmake "で行われた場合です。明確にしてくれてありがとう! – SamuelN