Extension Module Example

Extension modules are used to extend the Python interpreter with functions in C. For example, suppose you had some C code in a file spam.c that you wanted to access from Python as a module named spam. To do this, you first need to know something about the original C code. The following listing shows some sample C functions that we are going to access from Python:

/* file: spam.c */
/* Compute the greatest common divisor of positive
   integers x and y */
int gcd(int x, int y) {
    int g;
    g = y;
    while (x > 0) {
         g = x;
         x = y % x;
         y = g;
    }
    return g;
}
/* Print some data */
void print_data(char *name, char *email, char *phone) {
    printf("Name    : %s\n", name);
    printf("Email   : %s\n", email);
    printf("Phone   : %s\n", phone);
}

To access ...

Get Python: Essential Reference, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.