Frage

Ich habe ein paar kleine Bibliotheken und in C geschrieben Wrapper (nicht C ++), die Ich mag würde zur Verfügung stellen über Erweiterungen PHP. Ich las einige Tutorials auf Schreiben richtige PHP-Erweiterungen und es scheint nicht zu schwer aber ich die Erweiterungen zusätzlich zu den Bibliotheken der Aufrechterhaltung nicht die Mühe will.

las ich, dass SWIG Gebäude-Erweiterungen unterstützt, die mit Zend PHP 5 kompatibel sind, was für mich perfekt ist . Allerdings scheint die Unterstützung gemäß der SWIG Dokumentation Beta zu sein.

Meine Bibliotheken sind ziemlich häufig, als Meta Beispiel für die Verwendung in C:

int main(void)
{
    struct libfoo *foo;

    char **tmp;

    foo = foo_init();
    if (foo == NULL) {
        fprintf(stderr, "Could not allocate foo\n");
        return 1;
     }

     tmp = foo_parse(foo, "/foo/foo.txt");
     ......
     foo_finit(foo);
}

Hat jemand irgendwelche Erfahrungen mit der Verwendung von SWIG teilen Erweiterungen für Bibliotheken so einfach, wie dies zu machen? Kennt jemand von Free / Open-Source-Projekten in C geschrieben, die SWIG verwenden, um PHP-Erweiterungen als optionalen Teil des Build?

zu machen

Vielen Dank im Voraus, ich bin die Hoffnung, ein Feedback zu bekommen. Wenn es positiv ist, werde ich widmen, nur einige Zeit, um wirklich SWIG kennen zu lernen .. wenn nicht, werde ich die Zeit damit verbringen, nur die Erweiterungen machen mit der Hand.

War es hilfreich?

Lösung

Eine Reihe von Jahren war ich an einem Projekt beteiligt, einen Prototyp Python-Modul basierte auf einem C-API zu erzeugen. Wir haben uns entschieden SWIG zu nutzen, um uns den Einstieg, da keiner der Menschen an dem Projekt der Python-C-API kannte. Während im Prinzip die Idee in Wirklichkeit einige automatisch generierten Funktionen klang toll, es verursacht uns mehr Arbeit, da wir die SWIG generierten Code optimieren und anpassen mussten unsere Bedürfnisse anzupassen.

Aus PHP Perspektive ich eine PHP-C-Erweiterung erhalten und glauben nicht, dass für die „einfache“ C-Funktion (en) mit SWIG gehen von Hilfe sein wird, wird der Code von Hand zu schreiben einfacher sein. Es kann sich lohnen, Sie bekommen oder Lesen Erweiterung und Einbetten von PHP von Sara Golemon.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top