Copyright (C) 2000-2012 |
GNU Info (python2.1-lib.info)dlCall C functions in shared objects ================================== This manual section was written by Moshe Zadka <moshez@zadka.site.co.il>. Call C functions in shared objects. The `dl' module defines an interface to the `dlopen()' function, which is the most common interface on UNIX platforms for handling dynamically linked libraries. It allows the program to call arbitrary functions in such a library. *Note:* This module will not work unless sizeof(int) == sizeof(long) == sizeof(char *) If this is not the case, `SystemError' will be raised on import. The `dl' module defines the following function: `open(name[, mode` = RTLD_LAZY'])' Open a shared object file, and return a handle. Mode signifies late binding (`RTLD_LAZY') or immediate binding (`RTLD_NOW'). Default is `RTLD_LAZY'. Note that some systems do not support `RTLD_NOW'. Return value is a `dlobject'. The `dl' module defines the following constants: `RTLD_LAZY' Useful as an argument to `open()'. `RTLD_NOW' Useful as an argument to `open()'. Note that on systems which do not support immediate binding, this constant will not appear in the module. For maximum portability, use `hasattr()' to determine if the system supports immediate binding. The `dl' module defines the following exception: `error' Exception raised when an error has occurred inside the dynamic loading and linking routines. Example: >>> import dl, time >>> a=dl.open('/lib/libc.so.6') >>> a.call('time'), time.time() (929723914, 929723914.498) This example was tried on a Debian GNU/Linux system, and is a good example of the fact that using this module is usually a bad alternative. automatically generated by info2www version 1.2.2.9 |