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