Toon posts:

C++ dll aanroepen vanuit J# 2005

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een projectje in Java en daarvoor moet ik een al bestaande C++ dll aanroepen. Ik wou dit via JNI (Java Native Interface) gaan doen. Maar dit lukt niet, bij het compileren treden er fouten op in jni.h. (stelletje pruters bij Sun ). En nu vroeg ik me af zijn er nog andere manieren om een C++ dll vanuit Java aan te roepen

Ter info: als java compiler gebruik ik J# 2005 Express en voor C++ gebruik ik Visual C++ 6

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:06
J# is geen Java

https://fgheysels.github.io/


  • rainmaker2k
  • Registratie: Juli 2002
  • Laatst online: 01-03 20:17
http://msdn.microsoft.com...perSampleWrappingCDLL.asp

is dit niet ongeveer wat je zoekt?

Verwijderd

Topicstarter
Denk het
Maar, wil ik het voorbeeld programma downloaden, komt er een melding: "page not found".

Verwijderd

Topicstarter
Is in dit geval niet zo van belang ik gebruik toch alleen de basis dingen. Het gaat me meer om de theorie (ontwerpen van algoritmen) die ik nu in de HP1 (AMBI) module leer in de praktijk brengen. Dus ik ben met een projectje begonnen om samenstanden van planeten en sterren over een bepaalde tijdsperiode te berekenen.

Voor m'n planetarium programma Stars (http://home.planet.nl/~romme102/) heb ik een dll geschreven die de posities van de planeten vrij nauwkeurig berekend. Dus die dll wil ik gaan gebruiken in mijn projectje. Maar als het zo'n geklooi is om de dll in J# aan te spreken kan ik alles net zo goed omschrijven.

Maar morgen (nu heb ik er genoeg van) ga ik naar JDirect kijken, hopelijk leid dat tot betere resultaten en minder frustratie :)

[ Voor 3% gewijzigd door Verwijderd op 18-11-2005 22:56 ]


Verwijderd

Topicstarter
Met JDirect is het gelukt, ik kan een simpele C++ dll aanroepen in J#. Probleem is echter dat de dll die ik wil aanroepen een struct als argument heeft om de resultaten van de berekeningen door te geven. In VB is dit geen probleem, maar J# heeft geen structs (of vergis ik me). Mijn idee is op een conversie C++ dll te schrijven, zodat je in J# alleen primitieve types als argumenten hebt.

Jullie raden het al, het aanroepen van een C++ dll functie vanuit een ander C++ programma lukt niet. Ik maak gebruik van __declspec(dllimport) en een .def file (net zoals ik de functies exporteer in de dll). Maar VC geeft steeds compiler fouten dat de compiler de functie niet kan vinden. Wie heeft een aantal tips?

De linker geeft deze fout:
error LNK2001: unresolved external symbol "__declspec(dllimport) double __cdecl Calc(double,double)" (__imp_?Calc@@YANNN@Z)

Zou je de topic niet binnen 24 uur kunnen kicken? Je kunt gewoon gebruik maken van de edit-knop. Bedankt :)

[ Voor 20% gewijzigd door .oisyn op 19-11-2005 17:25 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 24-04 11:12

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op vrijdag 18 november 2005 @ 22:55:
[...]


Is in dit geval niet zo van belang ik gebruik toch alleen de basis dingen.
Ga Sun dan geen prutsers noemen, aangezien zij er geen zak mee te maken hebben :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
.oisyn schreef op zaterdag 19 november 2005 @ 17:26:
[...]

Ga Sun dan geen prutsers noemen, aangezien zij er geen zak mee te maken hebben :)
Zij moeten dan geen header file leveren waar fouten in optreden en een betere uitleg er bij leveren.

Maar maakt niks uit, ik heb het al opgelost. Ik moest het *.lib bestand gewoon mee linken. Dat stand totaal niet aangegevern in de MSDN library. Dus bij deze noem ik Microsoft ook een stelletje prutsers :)

Wat mij betreft kan dit topic op slot

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 24-04 11:12

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op zaterdag 19 november 2005 @ 18:22:
[...]

Zij moeten dan geen header file leveren waar fouten in optreden en een betere uitleg er bij leveren.
Dat zal wel aan jezelf liggen want de header compilet prima bij mij.
Maar maakt niks uit, ik heb het al opgelost. Ik moest het *.lib bestand gewoon mee linken. Dat stand totaal niet aangegevern in de MSDN library. Dus bij deze noem ik Microsoft ook een stelletje prutsers :)
En ook hier zul je wel niet goed gelezen hebben. Beetje makkelijk om de schuld maar meteen naar andere grote companies te schuiven waar heel veel mensen jarenlang mee hebben samengewerkt op het moment dat het jou niet helemaal meezit, niet?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1