C-Sprache zum Anzeigen und Erinnern Teil 2 Rufen Sie die C-Sprache aus der Python-Zeichenfolge (Argument) auf

capi.py


import myModule as capi
print(capi.Message("Hallo Japan"))

Lauf
capi>python capi.py
Hallo Japan
Hallo Japan

capilib.c


#include <Python.h>

static PyObject* Message(PyObject* self, PyObject* args){
    char* str;
    if (!PyArg_ParseTuple(args, "s",&str)){
        return NULL;
    }
    printf("%s\n",str);
    return Py_BuildValue("s", str);
}
// Function Definition struct
static PyMethodDef myMethods[] = {
    { "Message", Message, METH_VARARGS, "Prints Message"},
    { NULL }
};
static struct PyModuleDef myModule = {
    PyModuleDef_HEAD_INIT,"myModule","C API Module",-1,myMethods
};
PyMODINIT_FUNC PyInit_myModule(void){
    return PyModule_Create(&myModule);
}

** Aufmerksamkeitspunkt **

char* str;
//Argumente erfassen
if (!PyArg_ParseTuple(args, "s",&str)){
    return NULL;
}
//Rückgabewert erstellen
return Py_BuildValue("s", str);

--PyArg_ParseTuple (args, "s", & str) liest die Argumentzeichenfolge "s" in str.

Recommended Posts

C-Sprache zum Anzeigen und Erinnern Teil 2 Rufen Sie die C-Sprache aus der Python-Zeichenfolge (Argument) auf
C-Sprache zum Anzeigen und Erinnern Teil 4 Rufen Sie die C-Sprache von Python (Argument) double auf
C-Sprache zum Anzeigen und Erinnern Teil 5 Rufen Sie die C-Sprache aus dem Python-Array (Argument) auf
C-Sprache zum Sehen und Erinnern Teil 3 Rufen Sie die C-Sprache aus Python auf (Argument) c = a + b
C-Sprache zum Sehen und Erinnern Teil 1 Rufen Sie die C-Sprache aus Python auf (Hallo Welt)
Gehen Sie zur Sprache, um Teil 8 zu sehen und sich daran zu erinnern. Rufen Sie die GO-Sprache von Python aus auf
Gehen Sie in die Sprache, um Teil 7 C in der Sprache GO zu sehen und sich daran zu erinnern
Rufen Sie die c-Sprache von Python aus auf (python.h)
Rufen Sie C-Sprachfunktionen von Python auf, um mehrdimensionale Arrays auszutauschen
[Python] So rufen Sie eine Funktion von c aus Python auf (ctypes edition)
Rufen Sie Matlab von Python zur Optimierung auf
Rufen Sie C von Python mit DragonFFI auf
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Gehen Sie in die Sprache, um Teil 7 C in der Sprache GO zu sehen und sich daran zu erinnern
Rufen Sie popcount von Ruby / Python / C # auf
Einführung in Protobuf-c (C-Sprache ⇔ Python)
Python, um von einer anderen Sprache zu wechseln
Rufen Sie C / C ++ von Python auf dem Mac auf
[Python] Drücken Sie Keras von TensorFlow und TensorFlow von c ++, um die Ausführung zu beschleunigen.
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
Rufen Sie mit ctypes Ihre eigene gemeinsam genutzte Bibliothek in C-Sprache von Python aus auf
[Es ist noch nicht zu spät, Python ab 2020 zu lernen] Teil 3 Python Language Basic (1)
Von Python bis zur Verwendung von MeCab (und CaboCha)
Portieren und Ändern des Doublet-Solvers von Python2 auf Python3.
Socket-Kommunikation in C-Sprache und Python
Generieren Sie mit Python eine C-Sprache aus dem S-Ausdruck
Versuchen Sie, das Programm "FORTRAN77 Numerical Computing Programming" auf C und Python zu portieren (Teil 1).
So generieren Sie eine Sequenz in Python und C ++
Schreiben von Protokollen in eine CSV-Datei (Python, C-Sprache)
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Versuchen Sie, das Programm "FORTRAN77 Numerical Computing Programming" auf C und Python zu portieren (Teil 3).
Rufen Sie Rust von Python an, um schneller zu werden! PyO3-Tutorial: Umschließen von Klassen Teil ➀
Versuchen Sie, das Programm "FORTRAN77 Numerical Computing Programming" auf C und Python zu portieren (Teil 2).
Rufen Sie Rust von Python an, um schneller zu werden! PyO3-Tutorial: Umschließen von Klassen Teil ➁
Rufen Sie Python-Skripte aus Embedded Python in C ++ / C ++ auf
Liste des zu verschiebenden und zu merkenden Python-Codes
Ich möchte C ++ - Code aus Python-Code erstellen!
Eine einfache Möglichkeit, Java von Python aus aufzurufen
Die Geschichte der Portierung von Code von C nach Go (und zur Sprachspezifikation)
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Python> Datum / Uhrzeit> Von der Datumszeichenfolge (ISO-Format: 2015-12-09 12:40:08) zum Datum / Uhrzeit-Typ
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Einführung in die Python-Sprache
Rufen Sie Rust von Python an, um schneller zu werden! PyO3-Tutorial: Umschließen einer einfachen Funktion Teil ➀
Rufen Sie Rust von Python an, um schneller zu werden! PyO3-Tutorial: Umschließen einer einfachen Funktion Teil ➁
[Einführung in cx_Oracle] (Teil 6) Zuordnung von DB- und Python-Datentypen
Lernen Sie die Grundlagen und Tipps der kanonischen Python-Ausdrücke von Grund auf neu
Herstellen einer Verbindung zu verschiedenen DBs über Python (PEP 249) und SQL Alchemy
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Objektorientiert in C-Sprache: "○ ✕ game" wurde überarbeitet und nach Python portiert
Verwenden Sie eine Skriptsprache für ein komfortables C ++ - Leben - OpenCV-Port Python zu C ++ -
Übergeben Sie die OpenCV-Daten der ursprünglichen C ++ - Bibliothek an Python
Wie man Python oder Julia von Ruby aus aufruft (experimentelle Implementierung)
Rufen Sie CPLEX von Python aus auf (DO cplex)
Post von Python nach Slack
Python-Einzug und String-Format
Flirte von PHP nach Python
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
Portiert von der R-Sprache von "Sazae-sans Janken Data Analysis" nach Python