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
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
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...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
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...
Ray-Ban Meta Audio: arrivano gli occhial...
Apple TV 4K: chip A19, CPU più veloce de...
Il mercato console sprofonda: i rincari ...
Apple Home Collection: videocamere 2,5K,...
Apple presenta HomeView, il nuovo hub do...
Apple HomePod mini 2 arriva in Italia: a...
SFSCON 2026: la sovranità digital...
Cooler Master GPU Shield arriva in Europ...
Wolters Kluwer Tax & Accounting pote...
NVIDIA accelera il DLSS 5: il nuovo mode...
Character.ai in bancarotta, Disney pront...
realme passa a ColorOS 17 con Android 17...
OPPO presenta ColorOS 17: più flu...
Giochi PS2 su smartphone Android: ARMSX2...
Ecco il nuovo tool semplificato per alle...
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: 20:45.


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