Amaury Forgeot d'Arc added the comment: I found the code I wrote some time ago for the same purpose: (in pypy, which uses ctypes a lot)
import sys if sys.platform == 'win32': # Parses sys.version and deduces the version of the compiler import distutils.msvccompiler version = distutils.msvccompiler.get_build_version() if version is None: # This logic works with official builds of Python. if sys.version_info < (2, 4): clibname = 'msvcrt' else: clibname = 'msvcr71' else: if version <= 6: clibname = 'msvcrt' else: clibname = 'msvcr%d' % (version * 10) # If python was built with in debug mode import imp if imp.get_suffixes()[0][0] == '_d.pyd': clibname += 'd' standard_c_lib = ctypes.cdll.LoadLibrary(clibname+'.dll') This code works on all pythons I have on my machine: official builds, custom builds (relase/debug) with several MS compilers... I did not test it with other compiled vendors (mingw32...). But to me this seems more robust than a text search in the executable. ---------- nosy: +amaury.forgeotdarc __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue1793> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com