J'ai téléchargé la source python

Je ne le vois peut-être pas tout de suite, mais j'ai téléchargé la source python. (Il peut être préférable de télécharger la source de 3.4, mais pour l'instant, je télécharge la source de 2.7 (Python-2.7.7) que j'utilise) À l'avenir, vous pourrez même voir le contenu de la source en vérifiant (pour aider) les spécifications.

Tout d'abord, essayez de trouver

Pour le moment, recherchez l'entrée de python.exe.

Commencez par rechercher avec main (). Certains réseaux ont été trouvés, y compris Demo. Vous pouvez avoir une idée approximative du nom du fichier, mais également consulter le Makefile pour confirmer les résultats de la recherche.

À la suite de la recherche, la ligne suivante a été trouvée dans PC / os2emx / Makefile.

PYTHON.EXE=	python.exe

Où je construis ce gars

$(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)

Ainsi, la définition de SRC.EXE est

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

Le contenu de cette source (Modules / python.c) est le suivant.

/* 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 En examinant ce qui précède, j'ai pensé que l'API python avait une entrée définie dans python.def. Le contenu de python.def ressemble à ceci. (Extrait)

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
・ ・ ・

Bien sûr, il existe également un site de référence API.

Si vous regardez la source, vous voudrez peut-être commencer par une entrée d'API.

Dans le dossier Demo de la source téléchargée, il y avait quelque chose comme un exemple de code utilisant l'API. Je ne sais pas si j'utiliserai l'API, mais cela peut être utile si je l'utilise.

Lorsque j'ai essayé de lire la source python, j'ai cherché sur le site les informations analysées, mais je ne les ai pas trouvées jusqu'à présent. Il serait utile que je puisse comprendre le plan. Si j'enquête un peu plus et que je trouve des informations intéressantes, je peux publier un article.

Recommended Posts

J'ai téléchargé la source python
J'ai aimé le tweet avec python. ..
J'ai écrit la file d'attente en Python
[Python] Lire le code source de Flask
J'ai écrit la pile en Python
J'ai commencé Python
Je ne connaissais pas les bases de Python
[Python] J'ai personnellement résumé la grammaire de base.
Python: j'ai essayé le problème du voyageur de commerce
Le modèle de projet Python auquel je pense.
[Python débutant] J'ai rassemblé les articles que j'ai écrits
J'ai essayé le framework de test Python Tornado
J'ai essayé de "lisser" l'image avec Python + OpenCV
[Python] Lire le code source de Bottle Part 2
[Python] J'ai essayé de remplacer le nom de la fonction par le nom de la fonction
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé de simuler "Birthday Paradox" avec Python
J'ai essayé la méthode des moindres carrés en Python
J'ai essayé la programmation python pour la première fois.
[Python] Lire le code source de Bottle Part 1
Essayez Progate Free Edition [Python I]
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé d'utiliser le module Datetime de Python
J'ai touché certaines des nouvelles fonctionnalités de Python 3.8 ①
J'ai essayé d'implémenter la fonction gamma inverse en python
[Python] Je vais télécharger FTP sur le serveur FTP.
Je veux afficher la progression en Python!
Trouvez le maximum de Python
J'ai essayé Python> autopep8
le zen de Python
Installer Python à partir de la source
[Python] Fractionner la date
J'ai compté les grains
J'ai essayé Python> décorateur
Pourquoi j'ai choisi Python
J'ai comparé Python more-itertools 2.5 → 2.6
Un moyen simple de vérifier la source des modules Python
J'ai essayé de représenter graphiquement les packages installés en Python
[Recette du formateur] J'ai touché le flacon du framework Python.
Ce que je suis entré dans Python pour la première fois
J'ai essayé Python sur Mac pour la première fois.
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé python pour la première fois avec heroku
Je voulais utiliser la bibliothèque Python de MATLAB
J'ai vérifié les versions de Blender et Python
Je veux hériter de l'arrière avec la classe de données python
[Python] J'ai essayé de représenter graphiquement le top 10 des ombres à paupières
Je veux écrire en Python! (3) Utiliser des simulacres
Un mémo que j'ai touché au magasin de données avec python
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai senti que j'avais porté le code Python en C ++ 98.
Je veux utiliser le jeu de données R avec python
J'ai essayé de frapper l'API avec le client python d'echonest
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé fp-growth avec python