Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
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


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone Duo è 'uno spreco di soldi...
Più di 3000 al mese vendute su Am...
Intel presenta le GPU D-Series fino a 48...
Un attacco informatico può far ma...
AMD Helion, fino a 32.768 core Zen 6 per...
Chiamate con numeri falsi: AGCOM sanzion...
Il radiotelescopio cinese FAST ha scoper...
Certificati TLS più brevi, Let's ...
Milano si candida a sede Onu per la gove...
Dopo Groq e Hugging Face, NVIDIA guarda ...
Thomas Zurbuchen entra in Blue Origin ne...
Qualcomm porta servizi e sicurezza nel g...
Microsoft porta l'inferenza IA sul propr...
Blue Origin aiuterà la NASA nella...
Scoperto pianeta 'ribelle': orbita al co...
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: 06:54.


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