Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Interfacciare due linguaggi
Forum - C/C++ - Interfacciare due linguaggi

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
crybot (Member)
Pro


Messaggi: 115
Iscritto: 13/09/2011

Segnala al moderatore
Postato alle 12:28
Giovedì, 15/09/2011
ora, forse il titolo avra` suscitato qualche dubbio in colui che ha abbastanza esperienza per rispondermi, ma la mia domanda e` questa: come posso, se posso, interfacciare due linguaggi di programmazione (in questo caso vb.net per la gui e c++ per il motore) in un solo e completo programma? spero di non chiedere troppo, ma a scuola (eh gia`, e` ricominciata...) io e un mio amico avevamo pensato di collaborare per scrivere qualcosa di utile in compagnia e soprattutto divertendoci facendo quello che "sappiamo" fare. Abbiamo appunto pensato di collegare questi nostri due linguaggi, c++ da parte mia e vb.net da parte sua, ma non sappiamo da dove cominciare, qualora fosse possibile cio` che chiedo. l'idea era di realizzare un risolutore di equazioni di primo o di secondo grado, ma non sapendo programmare gui in c++ la cerchia di interessati per un programma del genere si restringerebbe notevolmente, ecco perche` ci era venuto in mente di creare la gui in vb.net e il motore che esegue i calcoli in c++. spero di essere stato chiaro, e se non fosse possibile fare cio` che chiedo, vi prego di rispondere con consapevolezza che a scrivere e` un quindicenne non esageratamente bravo a programmare e assolutamente ragionevole nell'accettare il fatto che non possa essere messo in atto cio` di cui ho parlato.

grazie a tutti :)


Ultima modifica effettuata da crybot il 15/09/2011 alle 12:30
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 12:59
Giovedì, 15/09/2011
in realtà questa cosa non è affatto strana, anzi, dovrebbe essere la norma.
bisogna sfruttare le caratteristiche migliori di entrambi i linguaggi, ovvero VB.NET veloce nel realizzare GUI e C++ veloce nell'esecuzione.

puoi seguire una strada molto semplice per realizzare quello che chiedi, pinvoke passando da dll che esportano funzioni:

http://msdn.microsoft.com/en-us/library/aa446536.aspx

oppure tramite un wrapper C++:

http://blogs.microsoft.co.il/blogs/sasha/archive/2008/02/1 ...

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6385
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:46
Giovedì, 15/09/2011
Perché complicarsi la vita dato che l'uso di più linguaggi prevede una certa esperienza?

Perché non scrivete il codice per la risoluzione in VB.NET?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
crybot (Member)
Pro


Messaggi: 115
Iscritto: 13/09/2011

Segnala al moderatore
Postato alle 14:06
Giovedì, 15/09/2011
Testo quotato

Postato originariamente da nessuno:

Perché complicarsi la vita dato che l'uso di più linguaggi prevede una certa esperienza?

Perché non scrivete il codice per la risoluzione in VB.NET?



semplicemente perche` non conoscendo il vb.NET, l'unico supporto che potrei dare e` di produrro dello pseudo codice inutile...

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6385
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:10
Giovedì, 15/09/2011
Qualcosa non la conosci ...

o il VB.Net (per scrivere poca roba poi, parliamo di qualche formuletta)

o il modo per interfacciare i due linguaggi (molto più complesso da apprendere)

... ti conviene acquisire le poche informazioni che ti servono per scrivere il programma in VB.Net.

In ogni caso, se proprio vuoi fare in quel modo, la cosa più conveniente da fare è scrivere una DLL in C (lo sai fare?) ed esportare le funzioni che ti servono per invocarle (come ti ha suggerito HeDo) da VB.Net (vedi link della documentazione).


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
crybot (Member)
Pro


Messaggi: 115
Iscritto: 13/09/2011

Segnala al moderatore
Postato alle 14:29
Giovedì, 15/09/2011
nonostante tutto, penso di fare un tentativo, provero` con il mio amico ad applicare la soluzione che tu ed hedo mi avete proposto, probabilmente non riusciremo a portare a termine il progetto nella maniera che avevamo stabilito, ma senz'altro riusciremo a trovare una maniera piu` rozza per farlo, almeno spero, in ogni caso ci avremo provato...

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 18:49
Giovedì, 15/09/2011
non ho nulla da aggiungere, ma scrivo solo perchè mi piace come hai posto la domanda ;-D

Leggere sempre le solite richieste dei ciaffi, scritte in modo ciaffo, mi stava deprimendo :D

Consiglio... se vuoi ridurre di moltissimo la curva di apprendimento, invece di studiare il VB.Net puoi studiare il C#, che è molto semplice per chi viene dal C++ o dal Java (soprattutto quest'ultimo, che ha tantissime analogie con il C#).

Un progetto .Net infatti può contenere classi programmate in linguaggi misti (purchè appartenenti tutti alla famiglia .Net) senza stare ad impazzire dietro lo sviluppo della DLL, che è invece richiesta per l'interfacciamento con il C++ (che compila codice nativo, a differenza dei linguaggi .Net).

Inoltre le DLL sono anche rognose da debuggare.

Ultima modifica effettuata da TheKaneB il 15/09/2011 alle 18:50
PM Quote
Avatar
crybot (Member)
Pro


Messaggi: 115
Iscritto: 13/09/2011

Segnala al moderatore
Postato alle 19:14
Giovedì, 15/09/2011
Testo quotato

Postato originariamente da TheKaneB:

non ho nulla da aggiungere, ma scrivo solo perchè mi piace come hai posto la domanda ;-D

Leggere sempre le solite richieste dei ciaffi, scritte in modo ciaffo, mi stava deprimendo :D

Consiglio... se vuoi ridurre di moltissimo la curva di apprendimento, invece di studiare il VB.Net puoi studiare il C#, che è molto semplice per chi viene dal C++ o dal Java (soprattutto quest'ultimo, che ha tantissime analogie con il C#).

Un progetto .Net infatti può contenere classi programmate in linguaggi misti (purchè appartenenti tutti alla famiglia .Net) senza stare ad impazzire dietro lo sviluppo della DLL, che è invece richiesta per l'interfacciamento con il C++ (che compila codice nativo, a differenza dei linguaggi .Net).

Inoltre le DLL sono anche rognose da debuggare.



e` sempre bello ricevere risposte del genere, da un lato perche` vedo che quei 5 minuti(perche` di 5 minuti si tratta) a correggere l'ortografia e ad impostare la domanda correttamente sono valsi, almeno secondo me, a nascondere l'ignoranza, spesso motivo di vergogna per i, passatemi il termine, "newbies", che si celava sotto cio` che ho chiesto, dall'altro lato perche` avevo gia` pensato di abbandonare il C++ per passare al C#, che da quanto vedo e` molto piu` benevolente verso i nuovi, o quasi, arrivati, permettendo una programmazione pulita, di facile apprendimento e spesso senza intoppi. Il fatto e` che ho speso tempo, ma soprattutto materiale, nell'apprendere quel che so di questo vasto linguaggio, anche se forse un po` troppo didattico e noioso per i miei gusti, e cio` vanificherebbe praticamente un anno e mezzo di studio (discontinuo per ragioni varie). potrei accettare l'idea di imparare quel minimo di sintassi che serve per portare a termine il progetto da noi iniziato e considerare poi l'eventualita` di cambiare linguaggio. ringrazio tutti per le risposte :)

Ultima modifica effettuata da crybot il 15/09/2011 alle 19:18
PM Quote
Avatar
BionicGod (Normal User)
Rookie


Messaggi: 33
Iscritto: 16/06/2011

Segnala al moderatore
Postato alle 19:29
Giovedì, 15/09/2011
Bhe o scegli la strada della DLL in C++ e del software in VB.NET che si appoggia sulla libreria oppure fai tutto in un linguaggio oppure ancora crei un eseguibile in C++ che, avviato con certi argomenti, fa in modo di passare al software in VB.NET i risultati dei vari calcoli. Si potrebbe utilizzare la classe Process (System.Diagnostic) per inviare comandi al processo e riceverli.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo