begin process at 2010 09 04 15:33:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Python

 > 

Archives

 > 

Divers

 > 

utilisation de librairie binaire(dll sous windows et sous linux)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

utilisation de librairie binaire(dll sous windows et sous linux)

dimanche 27 mars 2005 à 20:07:23 | utilisation de librairie binaire(dll sous windows et sous linux)

kollibar

comment je peut faire pour créer une dll (en C ou C++ ) et utiliser ses fonctions  en python.
je sais qu'il y a des contraintes sur l'écriture de la dll mais je ne les connais pas et je ne sais aps non plus comment la charger apres
Et j aimerai savoir faire qq chose se similaire sous linux

KOLLIBAR
lundi 13 juin 2005 à 01:53:08 | Re : utilisation de librairie binaire(dll sous windows et sous linux)

bouba

La plupart des modules Python sont codés en C, les types simples en générale. Ce que tu veux faire c'est de l'interfaçage apparement, c'est à dire utiliser du code C/C++ (ou autre) dans du Python. Pour faire ça il va te falloir un pe de motive, c'est pas facile au début. Sous windows on créer un module en C et on le compile de façon à obtenir une librairie dynamique .dll, sous linux .so. Je ne sais pas comment on fait sous win, mais sous linux une fois que tu as ton module compilé en librairie dynamique (.so) il suffit de faire un import avec le nom de la librairie dynamique pour utiliser les fonctions interfacées.
Voici par exemple un module écrit en C pour intarfacer printf.

/* Fichier stdio.c
   Interfaçage de la fonction printf */
  
#include "Python.h"

#ifdef __cplusplus
extern "C" {
#endif

// déclaration de la fonction d'interfaçage
static PyObject * stdio_printf(PyObject *self, PyObject *args);

/* définition du tableau de structures pour la description des
 * fonctions
 */
static PyMethodDef stdioMethods[] = {
    {"printf",  stdio_printf, METH_VARARGS, "Pareil que printf en C"},
    {NULL, NULL, 0, NULL}        /* Sentinel */
};

// définition de la fonction d'interfaçage
static PyObject * stdio_printf(PyObject *self, PyObject *args) {
    const char *commande;
    int retour;

    if (!PyArg_ParseTuple(args, "s", &commande))
        return NULL;
    retour = printf(commande);

    return Py_BuildValue("i", retour);
}

// fonction d'initialisation du module stdio
PyMODINIT_FUNC initstdio(void) {   
    Py_InitModule("stdio", stdioMethods);   
}

vas voir sur le sites de Python, section API Python/C, Extending/Integrating C/Python

Bonne chance.
Bouba



Cette discussion est classée dans : binaire, windows, dll, utilisation, librairie


Répondre à ce message

Sujets en rapport avec ce message

Compilation avec py2exe ??? [ par chrisadmin ] Bonjour à tous, j'espere que je poste au bon endroit ! Je souhaite compiler une application développée en python. voici le setup.py lancé avec py2ex Utilisation du module Pywin32 [ par galgafou ] Bonjour à tous, En naviguant sur internet, j'ai constaté qu'il existait un module (pywin32) permettant notamment d'ouvrir ou d'écrire des documents e System Files Location [ par didoux95 ] Bonjour à tous ! Alors voilà, je travail sur windows xp et j'aimerais récupérer l'emplacement des fichiers du système (donc c:\windows\system32 par e Importer la Base de registre windows en xml pour la réutiliser en xml. [ par Psychokenshin ] Bonjour à tous, Je cherche donc à exporter ma base de registre windows dans un fichier xml et ce de façon à pouvoir l'utiliser facilement dans un dic Executer une commande windows et en récupérer le résultat [ par gregzz21 ] Bonjour, Je suis un train d'écrire un script et j'ai besoin d'afficher les résultat de ce script dans un page web qui tirera les infos d'une BDD. J'e dll avec python? [ par LokR ] Salut tout le monde!je me pose une kestion, je pense pas que ce soit possible mais d'un autre coté je pensais pas kon puisse faire d' *.exe avec pytho interpreteur sous windows [ par arnohoho ] hello tous le monde voila je cherche un bon interpreteur python pour windowscomme certain ici programme deja depuis un certain temps il pourront certe Librairie graphique vectoriel [ par DoudouBidou ] Bonjour, j'ai depuis quelques jour un projet en tête, celui de réaliser un logiciel de saisi de schéma électrique en python. le plus simple ser Ouverture d'un fichier windows (avec Tkinter) [ par Uims ] Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati creer un executable python à faire fonctionner sous windows [ par marcus034 ] Bonjour, Nouvel utilisateur de python, je n'arrive pas à exécuter un script python  (créé sous idle de mandrake) sous windows. Comment concretement cr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales