This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author john.miller
Recipients docs@python, john.miller
Date 2010-06-26.10:05:35
SpamBayes Score 0.0009684665
Marked as misclassified No
Message-id <1277546739.53.0.554976149521.issue9086@psf.upfronthosting.co.za>
In-reply-to
Content
The 'How can I embed Python' section in the 'Python on Windows FAQ' (http://docs.python.org/faq/windows.html) uses wrong terms:
What the FAQ calls static linking and dynamic linking are actally two forms of dynamic linking - load-time dynamic linking and run-time dynamic linking, respectively.
Static linking means something else entirely - linking with a library that itself contains the implementation, i.e. there will be no usage of the DLL at all. Since the FAQ states that pythonNN.lib is just an import lib, static linking isn't really an option with this library.

Also the FAQ states that 'The drawback to dynamic linking is that your app won’t run if pythonNN.dll does not exist on your system'. This is misleading for two reasons:
- If the application uses the DLL, it won't run as expected if the DLL doesn't exist, regardless of how it loads the DLL. 
- Of the two linking options, load-time dynamic linking (what the FAQ refers to as static linking) is actually the one that handles the missing DLL more badly: The app will crash upon loading. If run-time dynamic linking is used, loading of the DLL happens in the application code, and it can handle it however it chooses to - it can inform the user, disable the feature that needs the DLL, etc.
History
Date User Action Args
2010-06-26 10:05:39john.millersetrecipients: + john.miller, docs@python
2010-06-26 10:05:39john.millersetmessageid: <1277546739.53.0.554976149521.issue9086@psf.upfronthosting.co.za>
2010-06-26 10:05:37john.millerlinkissue9086 messages
2010-06-26 10:05:35john.millercreate