Ich habe die Python-Quelle heruntergeladen

Ich kann es nicht sofort sehen, aber ich habe die Python-Quelle heruntergeladen. (Es ist vielleicht besser, die Quelle von 3.4 herunterzuladen, aber im Moment lade ich die Quelle von 2.7 (Python-2.7.7) herunter, die ich verwende.) In Zukunft können Sie sogar den Inhalt der Quelle anzeigen, indem Sie die Spezifikationen überprüfen (als Hilfe).

Versuchen Sie zunächst, main zu finden

Suchen Sie vorerst nach dem Eingang von python.exe.

Suchen Sie zunächst mit main (). Einige Hauptleitungen wurden gefunden, einschließlich Demo. Sie können sich eine ungefähre Vorstellung vom Dateinamen machen, aber auch das Makefile ansehen, um die Suchergebnisse zu bestätigen.

Als Ergebnis der Suche wurde die folgende Zeile in PC / os2emx / Makefile gefunden.

PYTHON.EXE=	python.exe

Wo ich diesen Kerl baue

$(PYTHON.EXE): $(SRC.EXE) $(PYTHON.EXEIMP) $(OUT)python.def
	$(CC) -Zmt $(LDMODE.EXE) -Zcrtdll -Wall $(INCLUDE) -L. -lgcc -o $@ $(SRC.EXE) $(PYTHON.EXEIMP) $(LIBS) $(OUT)python.def
	$(EXEOPT) -aq $(PYTHON.EXE) -h$(NFILES)

Die Definition von SRC.EXE lautet also

SRC.EXE=	$(TOP)Modules/python.c

Der Inhalt dieser Quelle (Modules / python.c) lautet wie folgt.

/* Minimal main program -- everything is loaded from the library */

#include "Python.h"

#ifdef __FreeBSD__
#include <floatingpoint.h>
#endif

int
main(int argc, char **argv)
{
	/* 754 requires that FP exceptions run in "no stop" mode by default,
	 * and until C vendors implement C99's ways to control FP exceptions,
	 * Python requires non-stop mode.  Alas, some platforms enable FP
	 * exceptions by default.  Here we disable them.
	 */
#ifdef __FreeBSD__
	fp_except_t m;

	m = fpgetmask();
	fpsetmask(m & ~FP_X_OFL);
#endif
	return Py_Main(argc, argv);
}

API Bei der Prüfung des oben Gesagten dachte ich, dass für die Python-API ein Eintrag in python.def definiert ist. Der Inhalt von python.def sieht folgendermaßen aus. (Auszug)

LIBRARY        PYTHON24 INITINSTANCE TERMINSTANCE
DESCRIPTION    'Python 2.4 Core DLL'
PROTMODE
DATA           MULTIPLE NONSHARED

EXPORTS
               ; Data
               PyCFunction_Type
・ ・ ・
               ; Code
               PyArg_Parse
・ ・ ・
               Py_Initialize
               Py_IsInitialized
               Py_Main
               Py_MakePendingCalls
               Py_Malloc
               Py_NewInterpreter
               Py_Realloc
・ ・ ・

Natürlich gibt es auch eine API-Referenzseite.

Wenn Sie sich die Quelle ansehen, möchten Sie möglicherweise mit einem API-Eintrag beginnen.

Im Demo-Ordner in der heruntergeladenen Quelle gab es so etwas wie Beispielcode, der die API verwendete. Ich weiß nicht, ob ich die API verwenden werde, aber es kann hilfreich sein, wenn ich sie verwende.

Als ich versuchte, die Python-Quelle zu lesen, suchte ich auf der Website nach den analysierten Informationen, fand sie aber bisher noch nicht. Es wäre hilfreich, wenn ich den Umriss verstehen könnte. Wenn ich etwas mehr recherchiere und interessantes Material finde, kann ich einen Artikel posten.

Recommended Posts

Ich habe die Python-Quelle heruntergeladen
Ich mochte den Tweet mit Python. ..
Ich habe die Warteschlange in Python geschrieben
[Python] Lesen Sie den Flask-Quellcode
Ich habe den Stack in Python geschrieben
Ich habe Python gestartet
Ich kannte die Grundlagen von Python nicht
[Python] Ich habe die grundlegende Grammatik persönlich zusammengefasst.
Python: Ich habe das Problem des Handlungsreisenden ausprobiert
Die Python-Projektvorlage, an die ich denke.
[Python-Anfänger] Ich habe die Artikel gesammelt, die ich geschrieben habe
Ich habe das Python Tornado Testing Framework ausprobiert
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
[Python] Lesen Sie den Quellcode von Flasche Teil 2
[Python] Ich habe versucht, den Funktionsnamen durch den Funktionsnamen zu ersetzen
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe versucht, "Birthday Paradox" mit Python zu simulieren
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Ich habe zum ersten Mal versucht, Python zu programmieren.
[Python] Lesen Sie den Quellcode von Flasche Teil 1
Probieren Sie Progate Free Edition [Python I]
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe einige der neuen Funktionen von Python 3.8 touched angesprochen
Ich habe versucht, die inverse Gammafunktion in Python zu implementieren
[Python] Ich werde FTP auf den FTP-Server hochladen.
Ich möchte den Fortschritt in Python anzeigen!
Finden Sie das maximale Python
Ich habe Python> autopep8 ausprobiert
der Zen von Python
Installieren Sie Python von der Quelle
[Python] Teilen Sie das Datum
Ich habe die Körner gezählt
Ich habe Python> Decorator ausprobiert
Warum ich mich für Python entschieden habe
Ich habe Python more-itertools 2.5 → 2.6 verglichen
Einfache Möglichkeit, die Quelle der Python-Module zu überprüfen
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
[Rezept des Trainers] Ich habe die Flasche des Python-Frameworks berührt.
Was ich zum ersten Mal in Python bekommen habe
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Ich wollte die Python-Bibliothek von MATLAB verwenden
Ich habe mir die Versionen von Blender und Python angesehen
Ich möchte mit Python-Datenklasse nach hinten erben
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich hatte das Gefühl, dass ich den Python-Code nach C ++ 98 portiert habe.
Ich möchte R-Datensatz mit Python verwenden
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe fp-Wachstum mit Python versucht