llamar a la función c ++ con entrada de matrizHola,
Estoy tratando de llamar a mis funciones de c ++ en JSL. Y me doy cuenta de que necesito usar las funciones: "Cargar DLL ()" y "Declarar función ()". Me parece que "Declare Function ()" solo puede permitirme especificar variables que son DOBLE, INT, CADENA? También veo opciones como " Estructura " y " ObjPtr ", pero no estoy seguro de cómo usarlos.
Si mis funciones de C ++ tienen entrada y salida de matriz , ¿podría importarlos a jmp?
PD: el siguiente código funciona para una función que tiene un tipo de entrada 'doble'.
If( Host is( "Windows" ),
dll =
Load DLL(
If(
File Exists(
"MYPATH/MathLibrary.dll"
),
"MYPATH/MathLibrary.dll",
Throw()
)
);
dll <<
DeclareFunction(
"TimesTwo",
Convention( STDCALL ),
Alias( "test_x2" ),
Arg( Double, "x" ),
Returns( Double )
);
result = dll << TimesTwo(8.8);
Show( result );
dll << Show Functions;
);
AnalíticaOtroScriptingRe: llamar a la función c ++ con entrada de matrizHola Meichen,
Actualmente, las funciones .DLL de JSL admiten matrices de dobles, pero no de otro tipo. Noté esta limitación cuando trabajaba en un complemento para ayudar con los archivos TDM. Deberá escribir su propio .dll como intermediario para cerrar esta brecha. Estoy trabajando en esto mismo, pero todavía estoy trabajando en aprender C lo suficientemente a fondo como para lograrlo. Agregue esta solicitud a la lista de deseos interna: cuantas más solicitudes reciba el desarrollo para extender la funcionalidad actual de JSL a este respecto, es más probable que el problema se aborde en una versión futura.
Salud,
Brady
Re: llamar a la función c ++ con entrada de matrizGracias, @brady_brady ! Agregaré esta solicitud.
¿Habría ejemplos sobre cómo las funciones de soporte de matrices de dobles se importan en JSL? Me costó mucho encontrar las instrucciones.
Re: llamar a la función c ++ con entrada de matrizActualmente no tengo un ejemplo de esto. Como mencionas, desafortunadamente esta característica no está bien documentada actualmente. Cuando se presentó por primera vez, no creo que muchas personas estuvieran haciendo este tipo de trabajo ... pero ahora, existe una necesidad real.