Ich habe den CPython-Quellcode untersucht, wobei python.h
den Import für die meisten Module durchführt. Nur durch das Verfolgen des Codes kann ich den Punkt nicht finden, an dem die Py_Main()
Routine in dem Bereich platziert wird.In CPython, wo kommt Py_Main in den Geltungsbereich?
ich die Definition tat finden Py_Main
innerhalb Modules/main.c
sowie den Prototyp in include/pylifecycle.h
, ich kann einfach nicht zu Stück scheinen zusammen, wo sie von importiert wird immer, oder, wenn dies auf der Ebene des Linkers mit make
getan.
TLDR: #include "python.h"
, Py_Main
ist jetzt in scope ... an welchem Punkt wurde es dort injiziert?
Das ist mir aufgefallen. Die eigentliche Definition befindet sich jedoch in der Datei 'Modules/main.c', auf die ich im Code keine Referenzen sehe. – SamuelN
@SamuelN: Wenn Sie sich fragen, wie die Funktion kompiliert und verknüpft wird, ist das ein ganz anderes Problem als das, was Sie gefragt haben. – user2357112
@ user2357112 Ja, deshalb habe ich das in meine Frage '' aufgenommen oder wenn dies auf der Linker-Ebene mit make "' gemacht wird. Danke fürs klarstellen! – SamuelN