04. april 2004 - 20:08Der er
27 kommentarer og 1 løsning
Kald af funktioner fra andre sprog (C),
Jeg står og har brug for at kalde nogle C, C++,og C# funktioner (alle sammen liggende i objekter) i et Java program. Såvidt jeg husker handler dette om indkapsling med er ikke sikker - er der nogle der kan fortælle hvordan den skal skæres??
JNI tillader dig at kalde C/C++ funktioner fra Java. Grundliggende laver du en stub i Java, genererer en C/C++ stub udfra dden, lader den stub kalde den egentlige kode og så builder du alt C/C++ til en DLL.
C# tror jeg ikke kan lade sig gøre i samme program.
I et spørgsmål kan der kun pointgives én gang. Derfor er det ikke muligt at lægge et svar.
Men, 'det går nok'. Jeg kan alligevel ikke bruge points til noget :-) (jeg er ikke aktiv nok til at komme i betragtning til et gratis pro-abonnoment..)
Har netop oprettet nyt spørgsmål, ved navn soreno under den fri debat - der er point til dig hvis du lægger et svar der... du skal ikke snydes... endnu engang tak for hjælpen.
arne v - jeg tror lige jeg vil benytte mig af dit tilbud så... jeg er nået til step 5 i jni guiden <a href="http://java.sun.com/docs/books/tutorial/native1.1/stepbystep/step5.html">step 5</a>, hvor jeg skal oprette et libary, og her får jeg et problem - når jeg skriver koden cl.... (tilpasset mit program) får jeg fejlen:
"'cl' is not recognized as an internal or external command, operable program or batch file."
mangler jeg at opsætte et path eller hvad er problemet (jeg kører med Microsoft development environment 7.0 og .net framework 1.0).
C:\>type dotnet.bat set INCLUDE=C:\PROGRA~1\MICROS~2.NET\Vc7\include set LIB=C:\PROGRA~1\MICROS~2.NET\Vc7\lib PATH=C:\WINNT\MICROS~1.NET\FRAMEW~1\V11~1.432;C:\PROGRA~1\MICROS~2.NET\Vc7\bin; C:\PROGRA~1\MICROS~2.NET\Common7\IDE;%PATH%
og dog - nu får jeg en linkerfejl (jeg er i gang med at følge vejledningen step, by step - med dennes eksempel) følgende er kopi af fejlmeddelelse - er der flere stier der skal sættes op (min libcmt.lib fil ligger i stien "C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib" og denne sti er inkluderet under "lib" - så jeg kan ikke lige se hvad problemt er)?
C:\javaOgC>cl -Ic:\j2sdk1.4.2\include -Ic:\j2sdk1.4.2\include\win32 -LD HelloWor ldImp.cpp -Fehello.dll Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86 Copyright (C) Microsoft Corporation 1984-2001. All rights reserved.
HelloWorldImp.cpp Microsoft (R) Incremental Linker Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved.
/dll /implib:hello.lib /out:hello.dll HelloWorldImp.obj LINK : fatal error LNK1104: cannot open file 'LIBCMT.lib'
er lidt træt nu og får ikke kikket på det mere i dag - men du skal have mange tak for hjælpen og når jeg engang får øjne i morgen, skal jeg lade dig vide om jeg har fattet det - også kunne det da godt tænkes du kunne få lidt flere point...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.