Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-08-2008, 12:29   #1
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
[C++/Python] Wrapper e Interfacciamento

Ciao a tutti, sto lavorando per interfacciare del codice C++ con python in modo da introdurre un sistema di plugin in python, dato che nell'applicazione in questione c'è una forte architettura ad eventi, sostanzialmente quello che dovrei fare è catturare gli eventi di interesse, creare un wrapper python all'oggetto C++ associato all'evento, e dare la palla al plugin python che dovrebbe avere la possibilità anche di modificare l'oggetto C++ tramite il wrapper.
In questo momento sto usando SWIG, ma sto avendo difficoltà a gestire da python oggetti C++ già creati precedentemente, sembra che il wrapping swig funzioni solo creando nuovi oggetti da python, ma non con oggetti C++ già esistenti, qualche suggerimento a riguardo?
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2008, 13:18   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Non ho mai lavorato con queste cose (e al momento non avrei il tempo per approfondire).

L'unica soluzione che mi viene in mente al momento è creare un oggetto Python che contenga il riferimento all'oggetto C++ in questione e che funga da proxy per i metodi / attributi che debbono essere visibili lato Python.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 12:10   #3
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Dai un'occhiata a http://www.riverbankcomputing.co.uk/software/sip/intro
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11

Ultima modifica di nico159 : 13-08-2008 alle 12:22.
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 19:08   #4
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Non ho mai lavorato con queste cose (e al momento non avrei il tempo per approfondire).

L'unica soluzione che mi viene in mente al momento è creare un oggetto Python che contenga il riferimento all'oggetto C++ in questione e che funga da proxy per i metodi / attributi che debbono essere visibili lato Python.
Si, è sostanzialmente quello che fa swig, il mio problema è fargli capire che non mi serve creare un wrapper su un nuovo oggetto C++, ma mi serve su un oggetto esistente

Quote:
Originariamente inviato da nico159 Guarda i messaggi
Vorrei usare swig perchè vorremmo cercare di creare sistemi di plugin analoghi anche per altri linguaggi quali Ruby e Lua, e swig da questo punto di vista aiuta
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2008, 19:55   #5
altairz
Member
 
Iscritto dal: May 2004
Messaggi: 84
non sò se può essere d'aiuto (non ho mai provato a fare una cosa del genere) ma forse potresti trovare qualcosa nella documentazione ufficiale:

http://docs.python.org/ext/ext.html
altairz è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2008, 20:12   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da cisc Guarda i messaggi
Si, è sostanzialmente quello che fa swig, il mio problema è fargli capire che non mi serve creare un wrapper su un nuovo oggetto C++, ma mi serve su un oggetto esistente
Capito. Niente, purtroppo non avendoci lavorato non saprei.
Quote:
Vorrei usare swig perchè vorremmo cercare di creare sistemi di plugin analoghi anche per altri linguaggi quali Ruby e Lua, e swig da questo punto di vista aiuta
Ma lasciali perdere, dai. Python basta e avanza.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2008, 18:43   #7
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Quote:
Originariamente inviato da altairz Guarda i messaggi
non sò se può essere d'aiuto (non ho mai provato a fare una cosa del genere) ma forse potresti trovare qualcosa nella documentazione ufficiale:

http://docs.python.org/ext/ext.html
grazie, già conoscevo, cercavo strumenti più ad alto livello per aumentare la produttività, ma alla fine ho dovuto ripiegare per le API Python/C in quanto mi serve un certo controllo sui thread che swig non offre ( e se lo offre non l'ho capito, grazie anche alla documentazione penosa )

Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Capito. Niente, purtroppo non avendoci lavorato non saprei.

Ma lasciali perdere, dai. Python basta e avanza.
Beh, l'idea sarebbe introdurre architetture di plugin per vari linguaggi in modo da catturare il maggior numero di programmatori esterni disposti a programmare plugin
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2008, 19:52   #8
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Sì, l'avevo capito. Era solo una battuta (anche se rimango dell'idea di costringerli a usare Python ).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Netflix usa l'IA generativa per battere ...
Quando l'AI costruisce sé stessa:...
Meno ventole, più raffreddamento:...
Adidas Trionda: come funziona la tecnolo...
Withings BodyFit, la bilancia che va ben...
QNAP annuncia QuTS hero h6.0: il sistema...
ColorOS 17 con Android 17: la lista dei ...
DDR4, il ritorno che nessuno si aspettav...
Corsair vuole un singolo cavo per colleg...
Linux 7.2 si avvierà sui Mac M3, ...
Xiaomi 17T e 17T Pro a prezzi mai visti:...
Microsoft annuncia Majorana 2 e prevede ...
Windows 11: addio ai menu contestuali ca...
Maxi raid internazionale contro la pirat...
Top 10 offerte Amazon, 3 tutte nuove: al...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v