mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
bpo-36085: Enable better DLL resolution on Windows (GH-12302)
This commit is contained in:
parent
32119e10b7
commit
2438cdf0e9
12 changed files with 492 additions and 22 deletions
|
@ -3079,6 +3079,36 @@ to be ignored.
|
|||
:func:`signal.signal`.
|
||||
|
||||
|
||||
.. function:: add_dll_directory(path)
|
||||
|
||||
Add a path to the DLL search path.
|
||||
|
||||
This search path is used when resolving dependencies for imported
|
||||
extension modules (the module itself is resolved through sys.path),
|
||||
and also by :mod:`ctypes`.
|
||||
|
||||
Remove the directory by calling **close()** on the returned object
|
||||
or using it in a :keyword:`with` statement.
|
||||
|
||||
See the `Microsoft documentation
|
||||
<https://msdn.microsoft.com/44228cf2-6306-466c-8f16-f513cd3ba8b5>`_
|
||||
for more information about how DLLs are loaded.
|
||||
|
||||
.. availability:: Windows.
|
||||
|
||||
.. versionadded:: 3.8
|
||||
Previous versions of CPython would resolve DLLs using the default
|
||||
behavior for the current process. This led to inconsistencies,
|
||||
such as only sometimes searching :envvar:`PATH` or the current
|
||||
working directory, and OS functions such as ``AddDllDirectory``
|
||||
having no effect.
|
||||
|
||||
In 3.8, the two primary ways DLLs are loaded now explicitly
|
||||
override the process-wide behavior to ensure consistency. See the
|
||||
:ref:`porting notes <bpo-36085-whatsnew>` for information on
|
||||
updating libraries.
|
||||
|
||||
|
||||
.. function:: execl(path, arg0, arg1, ...)
|
||||
execle(path, arg0, arg1, ..., env)
|
||||
execlp(file, arg0, arg1, ...)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue