chiama la funzione c ++ con input di matriceCiao,
Sto provando a chiamare le mie funzioni c ++ in JSL. E mi rendo conto che devo usare le funzioni: "Load DLL ()" e "Declare Function ()". Mi sembra che "Declare Function ()" possa permettermi solo di specificare variabili che sono DOUBLE, INT, STRING? Vedo anche opzioni come " Struct " e " ObjPtr ", ma non sono sicuro di come usarli.
Se le mie funzioni C ++ hanno input e output della matrice , potrei importarli in jmp?
PS il codice seguente funziona per una funzione che ha un tipo di input "doppio".
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;
);
AnalyticsAltroScriptingRi: chiama la funzione c ++ con input di matriceCiao Meichen,
Attualmente le funzioni .DLL di JSL supportano matrici di double, ma non di altro tipo. Ho notato questa limitazione quando lavoravo su un addin per aiutare con i file TDM. Dovrai scrivere il tuo .dll come intermediario per colmare questa lacuna. Sto lavorando proprio su questa cosa, ma sto ancora lavorando per imparare il C abbastanza a fondo per farlo. Si prega di aggiungere questa richiesta alla lista dei desideri interna: più richieste vengono ricevute dallo sviluppo per estendere le attuali funzionalità di JSL a questo proposito, più è probabile che il problema venga risolto in una versione futura.
Saluti,
Brady
Ri: chiama la funzione c ++ con input di matriceGrazie, @brady_brady ! Aggiungerò questa richiesta.
Ci sarebbero esempi su come le funzioni supportano le matrici dei doppi vengono importate in JSL? Ho avuto difficoltà a trovare le istruzioni.
Ri: chiama la funzione c ++ con input di matriceAl momento non ho un esempio di questo. Come hai detto, sfortunatamente questa funzione non è attualmente ben documentata. Quando è stato introdotto per la prima volta, non penso che molte persone stessero facendo questo tipo di lavoro ... ma ora, ce n'è davvero bisogno.