|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2004
Città: Pomezia (Rm)
Messaggi: 3217
|
Problema: usare codice c++ in c#
Buongiorno, ho un grande problema: ho bisogno di utilizzare una libreria, gratuita, che ho trovato in giro; di questa risorsa posseggo il codice sorgente, che è scritto in C++.
Il progetto invece è in Visual C#. Potete aiutarmi? Considerate che sono pressochè un newby, e non ho grandissime conoscenze. Vi ringrazio anticipatamente |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Se è una dll, che tu sappia è una libreria basata su COM oppure no?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2004
Città: Pomezia (Rm)
Messaggi: 3217
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Beh, se è libera, e tu hai sorgenti, dovrebbe anche esserne documentato l'uso (credo). Altrimenti prova a postare il link dove l'hai prelevata (semprechè sia lecito
![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2004
Città: Pomezia (Rm)
Messaggi: 3217
|
Il link è lecitissimo.
http://www.surina.net/soundtouch/index.html |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2004
Città: Pomezia (Rm)
Messaggi: 3217
|
Proverò a cercare qualcosa di più su questo metodo; c'è differenza tra P/Invoke e il comando DLLImport? I metodi esportati dalla libreria sono quelli che all'inizio hanno la dicitura "extern "C" "?
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2004
Città: Pomezia (Rm)
Messaggi: 3217
|
Altrimenti, dato che ho il codice in c++ della libreria, non potrei provare una sorta di "traduzione"?
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Difficile visto che utilizza parti in assembly. Oltretutto poi dovresti testare se effettivamente il tuo porting si comporta allo stesso modo dell'originale. Sicuramente più facile affidarsi alle procedure messe a disposizione dal C# per l'invocazione di metodi unmanaged.
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Generalmente si, extern "C" indica al compilatore C++ di non decorare i nomi. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:43.