Paul Prescod schrieb: > Thanks for everyone who contributed. It seems that the emerging > consensus (bar a security question from Guido) is that ctypes it the way > forward for calling C code in Python 3000.
I don't think that can ever work (so I don't participate in that consensus). There are too many issues with C that make ctypes not general enough. a) it requires code to be packaged in a DLL; static libraries are not supported (conceptually) b) it requires you to know the layout of data structures, or atleast to duplicate declarations in Python. As the layout of the same structure may change over time or across implementations (e.g. FILE in stdio), you can never get good platform coverage. c) A good deal of C API is through macros, for various usages (symbolic constants, function inlining, customization/configuration/conditional compilation) d) No real support for C++ (where there are even more ABI issues: (multiple) inheritance, vtables, constructors, operator overload, templates, ...) To access a C API, the only "right" way is to use a C compiler. ctypes is for people who want to avoid using a C compiler at all costs. Regards, Martin _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com