"Exploring Large-Scale Software" ist ein auswählbares Experiment für die Abteilung für elektronische Informationstechnik / Abteilung für Elektrotechnik und Elektronik (eeic), Fakultät für Ingenieurwissenschaften, Universität Tokio. Dies ist eine Verbesserung / Erweiterung eines großen Programms, das als OSS (Open Source Software) veröffentlicht wurde, und es ist schwierig, das gesamte Bild zu erfassen, das von einem kleinen Programm, das normalerweise im Unterricht behandelt wird, nicht berührt werden kann. Es geht darum zu lernen, wie man mit Programmen umgeht. Wir haben uns entschlossen, Python zu erkunden, mit dem wir im Unterricht vertraut sind.
Erstellen Sie zunächst ein Arbeitsverzeichnis (hier ~ / cpython
).
Duplizieren Sie das Repository von Python3.10 (cpython) auf Github mit git clone
.
terminal
$ mkdir cpython
$ cd cpython
$ git clone https://github.com/python/cpython
Erstellen Sie ein Makefile mit configure. Verwenden Sie zu diesem Zeitpunkt die Option "--prefix", um endgültig zu entscheiden, wo das Programm platziert werden soll (hier "~ / python-install"). Sie können der Umgebungsvariablen "CFLAGS" auch "-O0" hinzufügen, um die Optimierungsstufe zu verringern, und "-g" hinzufügen, um das "Debug-Symbol" in die ausführbare Datei aufzunehmen. Auf diese Weise können Sie gdb verwenden, um das Verhalten Ihres Programms Zeile für Zeile zu verfolgen.
Nachdem Sie ein Makefile mit configure erstellt haben, kompilieren und installieren Sie es mit make und make install.
terminal
$ CFLAGS="-g -O0" ./configure --prefix=/home/[username]/python-install/
$ make
$ make install
Damit ist der Build abgeschlossen, und Sie können Python starten, indem Sie "~ / python-install / bin / python3" ausführen. Wenn Sie den Code ändern, müssen Sie "sauber machen" und dann "machen" ausführen.
Starten Sie Emacs und gehen Sie mit dem Befehl M-x shell
zu~ / python-install / bin /
.
Sobald ich es verschieben konnte, drückte ich M-x gud-gdb
und gdb --fullname python3
, um gdb zu starten und benutzte es, um das Programm zu verfolgen.
** Erkundung umfangreicher Software **
** Offizielle CPython-Dokumentation (Ändern der CPython-Grammatik) ** ** Offizielle CPython-Dokumentation (Design des CPython-Compilers) **
** offizielles GNU-Readline-Dokument **
--Dies ist das Dokument, auf das in Hinzufügen einer Funktion zum automatischen Einrücken zu Python verwiesen wird.
** Einführung in das Ändern von Python **
-Dies ist ein Artikel von EEICs Senior, der Python die Instant-Anweisung hinzugefügt hat. Beim Ändern von Python habe ich darauf hingewiesen, womit ich beginnen soll.
Recommended Posts