Thread "Hallo Welt" in XS
(18 answers)
Opened by hlubenow at 2020-01-08 18:32
Und dasselbe geht auch für Python (sehr cool):
hello.c Code (C): (dl
)
1 2 3 4 5 6 7 8 #include <stdio.h> void inithello() { } void printHello() { printf("Hello World!\n"); } hello.i compile_hello Code (shell): (dl
)
1 2 3 4 5 6 7 8 9 10 #!/bin/bash PYTHONINCLUDEPATH="/usr/include/python" MODULENAME="hello" swig -python "$MODULENAME".i gcc -fpic -c -Dbool=char -I"$PYTHONINCLUDEPATH" "$MODULENAME"_wrap.c "$MODULENAME".c -D_GNU_SOURCE gcc -shared "$MODULENAME".o "$MODULENAME"_wrap.o -o _"$MODULENAME".so test.py Da der Dateiname "hello.py" für das Modul belegt ist, heißt das Testskript "test.py" (Bei Perl haben Skripte ja die Endung ".pl", Module die Endung ".pm". Dadurch kann man sie unterscheiden. Bei Python haben beide die Endung ".py".) Um "_hello.so" von "hello.py" beim Importieren zu unterscheiden (da heißt es ja nur "import hello"), bekommt die ".so"-Datei am Anfang diesen Unterstrich. Also "_hello.so". Last edited: 2020-01-11 17:52:15 +0100 (CET) |