Marc-Andre Lemburg <m...@egenix.com> added the comment: On 2009-01-06 14:22, Martin v. Löwis wrote: > Martin v. Löwis <mar...@v.loewis.de> added the comment: > >> I'm only referring to exported symbols. Static globals, of course, >> don't need such a prefix. > > Ok, the symbols in question are not exported from pythonxy.dll.
Right, because for MS VC you have to explicitly mark symbols for DLL export which is done via the PyAPI_* macros. However, they are still exported from the object files, so can cause name clashes with other libraries you link with. On Unix, libpythonX.X.a always includes those symbols and they are also in the global symbol namespace when running the executable and dynamically loading other libraries. Even production builds contain a few such symbols which require the _Py or Py prefix (or need to be made static) - these are for Python 2.6 and 2.7: * asdl_int_seq_new * asdl_seq_new Here's the grep line I used for that: nm libpython2.6.a | egrep ' [TD] ([^P_]|P[^y]|_[^P])' | sort _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue4850> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com