python how to load multiple C libraries
lac at openend.se
Wed Sep 16 15:13:41 CEST 2015
In a message of Wed, 16 Sep 2015 17:35:18 +0800, "chenchao at inhand.com.cn" write
>I encountered a problem. I use ctypes load multiple C libraries, but
>the libraries have dependence each other.So, how can i load these
>libraries. For example, I have two libraries:A、B, but A depends on B, B
>depends on A. So how do I load them? Is there anybody know how to do it?
I don't know how to do this with ctypes (which doesn't mean it cannot be
done, just that I haven't ever wanted to do this). What happens if you
make a small file that loads both separately and loads that one first?
It may be that you can get what you want with by loading the first lib
RTLD_LAZY instead of RTLD_NOW. see:
see: this very old thread, maybe CTypes knows about it now.
But I have never tried.
These days I used cffi instead of ctypes.
If you use cffi https://pypi.python.org/pypi/cffi
there should not be any problem if you use ffi.set_source(),
only once, but mentioning both libs in the libraries=[...] argument.
More information about the Python-list