Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cbc6676

Browse files
committed
Added dllbase_nt.txt and python_nt.rc;
added notes to readme.txt about NumPy targets; added some symbols to python_nt.def.
1 parent bc17d29 commit cbc6676

4 files changed

Lines changed: 448 additions & 0 deletions

File tree

PC/dllbase_nt.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
In Win32, DLL's are "pre-linked" using a specified base address.
2+
When the DLL is loaded, an attempt is made to place it at
3+
that address. If that address is already in use, a new base address
4+
is selected, and the DLL subject to fixups. Apparently, these
5+
fixups are very slow, and significant performance gains can be
6+
made by selecting a good base address.
7+
8+
This document is to allocate base addresses to core Python
9+
and Python .PYD files, to give a better change of optimal performance.
10+
This base address is passed to the linker using the /BASE
11+
command line switch.
12+
13+
14+
15+
Python.dll - 1e100000 - 1e180000
16+
Standard Extension Modules - 1e180000 - 1e200000
17+
- socket 1e180000 - 1e188000
18+
- _tkinter 1e190000 - 1e1A0000
19+
20+
Other extension modules
21+
- win32api 1e200000 - 1e220000
22+
- win32ras 1e220000 - 1e230000
23+
- win32lz 1e230000 - 1e240000
24+
- timer 1e240000 - 1e250000
25+
- mmapfile 1e250000 - 1e260000
26+
- avl 1e270000 - 1e270000
27+
- dbhash 1e280000 - 1e290000
28+
- win32net 1e290000 - 1e2A0000
29+
- oleauto 1e2A0000 - 1e2B0000
30+
- oleautsv 1e2B0000 - 1e2c0000
31+
- nspi 1e2d0000 - 1e2e0000
32+
- npipw.dll 1e2e0000 - 1e2f0000
33+
- _imaging 1e2f0000 - 1e300000
34+
- multiarray 1e300000 - 1e310000
35+
- bsddb 1e320000 - 1e330000
36+
37+
PythonWin
38+
win32ui 1e400000 - 1e500000

PC/python_nt.def

Lines changed: 345 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,345 @@
1+
LIBRARY Python14.dll
2+
CODE PRELOAD MOVEABLE DISCARDABLE
3+
DATA PRELOAD SINGLE
4+
5+
EXPORTS
6+
; Data item exports
7+
; PyAnyNumber_Type DATA
8+
; PyAnySequence_Type DATA
9+
; PyAnyMapping_Type DATA
10+
_Py_ZeroStruct DATA
11+
_Py_NoneStruct DATA
12+
_Py_TrueStruct DATA
13+
Py_DebugFlag DATA
14+
_PyParser_Grammar DATA
15+
_PySys_ProfileFunc DATA
16+
_PySys_TraceFunc DATA
17+
_PySys_CheckInterval DATA
18+
_PyThread_Started DATA
19+
_PyParser_TokenNames DATA
20+
Py_VerboseFlag DATA
21+
Py_SuppressPrintingFlag DATA
22+
PyExc_AccessError DATA
23+
PyExc_AttributeError DATA
24+
PyExc_ConflictError DATA
25+
PyExc_EOFError DATA
26+
PyExc_IOError DATA
27+
PyExc_ImportError DATA
28+
PyExc_IndexError DATA
29+
PyExc_KeyError DATA
30+
PyExc_MemoryError DATA
31+
PyExc_NameError DATA
32+
PyExc_OverflowError DATA
33+
PyExc_RuntimeError DATA
34+
PyExc_SyntaxError DATA
35+
PyExc_SystemError DATA
36+
PyExc_TypeError DATA
37+
PyExc_ValueError DATA
38+
PyExc_ZeroDivisionError DATA
39+
PyExc_KeyboardInterrupt DATA
40+
PyExc_SystemExit DATA
41+
PyFloat_Type DATA
42+
PyInt_Type DATA
43+
PyLong_Type DATA
44+
PyString_Type DATA
45+
PyType_Type DATA
46+
PyList_Type DATA
47+
PyDict_Type DATA
48+
PyDict_Type DATA
49+
PyTuple_Type DATA
50+
PyFile_Type DATA
51+
PyClass_Type DATA
52+
PyFunction_Type DATA
53+
PyMethod_Type DATA
54+
PyInstance_Type DATA
55+
PyCFunction_Type DATA
56+
PyModule_Type DATA
57+
PyCode_Type DATA
58+
PyFrame_Type DATA
59+
PyRange_Type DATA
60+
PyComplex_Type DATA
61+
_Py_EllipsesObject DATA
62+
PySlice_Type DATA
63+
64+
_PyObject_New
65+
_PyObject_NewVar
66+
PyObject_Compare
67+
PyObject_GetAttrString
68+
PyObject_GetAttr
69+
PyObject_HasAttrString
70+
PyObject_Hash
71+
PyObject_Print
72+
PyObject_Repr
73+
PyObject_Str
74+
PyObject_SetAttrString
75+
PyObject_SetAttr
76+
PyObject_IsTrue
77+
PyFloat_AsString
78+
PyFloat_AsDouble
79+
PyFloat_FromDouble
80+
PyInt_AsLong
81+
PyInt_GetMax
82+
PyInt_FromLong
83+
PyLong_AsDouble
84+
PyLong_FromDouble
85+
PyLong_AsLong
86+
PyLong_FromString
87+
PyLong_FromLong
88+
PyString_Format
89+
PyString_Size
90+
PyString_AsString
91+
PyString_Concat
92+
PyString_ConcatAndDel
93+
PyString_FromStringAndSize
94+
PyString_FromString
95+
_PyString_Resize
96+
97+
PyList_Append
98+
PyList_GetItem
99+
PyList_Size
100+
PyList_GetSlice
101+
PyList_Insert
102+
PyList_New
103+
PyList_SetItem
104+
PyList_SetSlice
105+
PyList_Sort
106+
PyList_Reverse
107+
PyList_AsTuple
108+
PyDict_SetItemString
109+
PyDict_GetItemString
110+
PyDict_DelItemString
111+
PyDict_Items
112+
PyDict_Items
113+
PyDict_Keys
114+
PyDict_Keys
115+
PyDict_Values
116+
PyDict_Values
117+
PyDict_Size
118+
PyDict_Size
119+
PyDict_Clear
120+
PyDict_Next
121+
PyDict_SetItem
122+
PyDict_SetItem
123+
PyDict_GetItem
124+
PyDict_GetItem
125+
PyDict_DelItem
126+
PyDict_DelItem
127+
PyDict_New
128+
PyDict_New
129+
PyTuple_GetItem
130+
PyTuple_Size
131+
PyTuple_GetSlice
132+
PyTuple_New
133+
PyTuple_SetItem
134+
PyFile_GetLine
135+
PyFile_AsFile
136+
PyFile_Name
137+
PyFile_SetBufSize
138+
PyFile_FromString
139+
PyFile_FromFile
140+
PyFile_SoftSpace
141+
PyFile_WriteObject
142+
PyFile_WriteString
143+
PyMethod_Class
144+
PyMethod_Function
145+
PyMethod_Self
146+
PyClass_IsSubclass
147+
PyClass_New
148+
PyMethod_New
149+
PyInstance_New
150+
PyInstance_DoBinOp
151+
PyFrame_ExtendStack
152+
PyFrame_New
153+
PyFrame_BlockPop
154+
PyFrame_BlockSetup
155+
PyFrame_FastToLocals
156+
PyFrame_LocalsToFast
157+
PyFunction_GetCode
158+
PyFunction_GetGlobals
159+
PyOS_strtol
160+
PyOS_strtoul
161+
PyFunction_New
162+
PyRange_New
163+
Py_FindMethod
164+
Py_FindMethodInChain
165+
PyCFunction_GetFunction
166+
PyCFunction_GetSelf
167+
PyCFunction_New
168+
PyModule_GetDict
169+
PyModule_GetName
170+
PyModule_New
171+
PyGrammar_AddAccelerators
172+
PyGrammar_FindDFA
173+
PyGrammar_LabelRepr
174+
; PyNode_ListTree ; debugging item only
175+
PyNode_AddChild
176+
PyNode_Free
177+
PyNode_New
178+
PyParser_AddToken
179+
PyParser_Delete
180+
PyParser_New
181+
PyParser_ParseFile
182+
PyParser_ParseString
183+
PyToken_OneChar
184+
PyToken_TwoChars
185+
PyTokenizer_Free
186+
PyTokenizer_Get
187+
PyTokenizer_FromFile
188+
PyTokenizer_FromString
189+
PyNode_Compile
190+
PyCode_New
191+
PyEval_CallObject
192+
PyEval_EvalCode
193+
Py_FlushLine
194+
PyEval_GetBuiltins
195+
PyEval_GetGlobals
196+
PyEval_GetLocals
197+
PyEval_GetOwner
198+
PyEval_GetFrame
199+
PyEval_GetRestricted
200+
PyEval_InitThreads
201+
PyEval_RestoreThread
202+
PyEval_SaveThread
203+
PyTraceBack_Fetch
204+
PyTraceBack_Here
205+
PyTraceBack_Print
206+
PyTraceBack_Store
207+
PyImport_AddModule
208+
PyImport_Cleanup
209+
PyImport_GetModuleDict
210+
PyImport_GetMagicNumber
211+
PyImport_ImportModule
212+
PyImport_ImportFrozenModule
213+
PyImport_Init
214+
PyImport_ReloadModule
215+
PyNumber_Coerce
216+
PyBuiltin_Init
217+
PyMarshal_Init
218+
Py_InitModule4
219+
PySys_Init
220+
PySys_SetArgv
221+
PySys_SetPath
222+
PySys_GetObject
223+
PySys_GetFile
224+
PySys_SetObject
225+
Py_CompileString
226+
Py_FatalError
227+
Py_Exit
228+
Py_Cleanup
229+
Py_Initialize
230+
PyErr_Print
231+
PyParser_SimpleParseFile
232+
PyParser_SimpleParseString
233+
PyRun_AnyFile
234+
PyRun_SimpleFile
235+
PyRun_SimpleString
236+
PyRun_File
237+
PyRun_String
238+
PyRun_InteractiveOne
239+
PyRun_InteractiveLoop
240+
PyMember_Get
241+
PyMember_Set
242+
Py_BuildValue
243+
Py_VaBuildValue
244+
PyArg_Parse
245+
PyArgs_VaParse
246+
PyArg_ParseTuple
247+
PyArg_GetChar
248+
PyArg_GetDoubleArray
249+
PyArg_GetFloat
250+
PyArg_GetFloatArray
251+
PyArg_GetLong
252+
PyArg_GetLongArray
253+
PyArg_GetLongArraySize
254+
PyArg_GetObject
255+
PyArg_GetShort
256+
PyArg_GetShortArray
257+
PyArg_GetShortArraySize
258+
PyArg_GetString
259+
PyErr_BadArgument
260+
PyErr_BadInternalCall
261+
PyErr_NoMemory
262+
PyErr_SetFromErrno
263+
PyErr_SetNone
264+
PyErr_SetString
265+
PyErr_SetObject
266+
PyErr_Occurred
267+
PyErr_Fetch
268+
PyErr_Restore
269+
PyErr_Clear
270+
PyOS_InitInterrupts
271+
PyOS_InterruptOccurred
272+
PyOS_GetLastModificationTime
273+
PyOS_Readline
274+
PyErr_CheckSignals
275+
PyErr_SetInterrupt
276+
PyCallable_Check
277+
Py_Main
278+
Py_GetCopyright
279+
Py_GetVersion
280+
281+
PyCallable_Check
282+
PyObject_CallObject
283+
PyObject_CallFunction
284+
PyObject_CallMethod
285+
PyObject_Type
286+
PyObject_Length
287+
PyObject_GetItem
288+
PyObject_SetItem
289+
PyNumber_Check
290+
PyNumber_Add
291+
PyNumber_Subtract
292+
PyNumber_Multiply
293+
PyNumber_Divide
294+
PyNumber_Remainder
295+
PyNumber_Divmod
296+
PyNumber_Power
297+
PyNumber_Negative
298+
PyNumber_Positive
299+
PyNumber_Absolute
300+
PyNumber_Invert
301+
PyNumber_Lshift
302+
PyNumber_Rshift
303+
PyNumber_And
304+
PyNumber_Xor
305+
PyNumber_Or
306+
PyNumber_Int
307+
PyNumber_Long
308+
PyNumber_Float
309+
PySequence_Check
310+
PySequence_Concat
311+
PySequence_Repeat
312+
PySequence_GetItem
313+
PySequence_GetSlice
314+
PySequence_SetItem
315+
PySequence_SetSlice
316+
PySequence_Tuple
317+
PySequence_Count
318+
PySequence_In
319+
PySequence_Index
320+
PySequence_Length
321+
PyMapping_Check
322+
PyMapping_Length
323+
PyMapping_HasKeyString
324+
PyMapping_HasKey
325+
PyMapping_SetItemString
326+
PyMapping_GetItemString
327+
PyComplex_FromCComplex
328+
PyComplex_FromDoubles
329+
PyComplex_RealAsDouble
330+
PyComplex_ImagAsDouble
331+
PyComplex_AsCComplex
332+
; PyComplex_Check *** This is a macro ***
333+
Py_AtExit
334+
Py_GetPath
335+
Py_GetExecPrefix
336+
Py_GetPrefix
337+
Py_GetProgramName
338+
PySlice_New
339+
PySlice_GetIndices
340+
_Py_c_pow
341+
_Py_c_quot
342+
_Py_c_neg
343+
_Py_c_sum
344+
_Py_c_prod
345+
_Py_c_diff

0 commit comments

Comments
 (0)