appeler la fonction c ++ avec une entrée matricielleSalut,
J'essaye d'appeler mes fonctions c ++ en JSL. Et je me rends compte que j'ai besoin d'utiliser les fonctions: "Charger la DLL ()" et "Déclarer la fonction ()". Il me semble que "Declare Function ()" ne peut me permettre de spécifier des variables qui sont DOUBLE, INT, STRING? Je vois aussi les options comme " Struct " et " ObjPtr ", mais je ne sais pas comment les utiliser.
Si mes fonctions C ++ ont entrée et sortie de la matrice , pourrais-je les importer dans jmp?
PS le code suivant fonctionne pour une fonction qui a un type d'entrée «double».
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;
);
AnalytiqueAutreScriptingRe: appeler la fonction c ++ avec une entrée matricielleSalut Meichen,
Actuellement, les fonctions .DLL de JSL prennent en charge des matrices de doubles, mais d'aucun autre type. J'ai remarqué cette limitation lorsque je travaillais sur un addin pour aider avec les fichiers TDM. Vous devrez écrire votre propre .dll comme intermédiaire pour combler ce fossé. Je travaille sur cette chose même, mais je travaille toujours sur un apprentissage suffisamment approfondi du C pour y parvenir. Veuillez ajouter cette demande à la liste de souhaits interne - plus le développement reçoit de demandes pour étendre la fonctionnalité actuelle de JSL à cet égard, plus le problème sera résolu dans une version ultérieure.
Acclamations,
Brady
Re: appeler la fonction c ++ avec une entrée matricielleMerci, @brady_brady ! J'ajouterai cette demande.
Y aurait-il des exemples sur la façon dont les fonctions supportent les matrices de doubles sont importées dans JSL? J'ai eu du mal à trouver les instructions.
Re: appeler la fonction c ++ avec une entrée matricielleJe n'ai pas d'exemple pour le moment. Comme vous le mentionnez, malheureusement, cette fonctionnalité n'est actuellement pas bien documentée. Quand il a été introduit pour la première fois, je ne pense pas que beaucoup de gens faisaient ce genre de travail ... mais maintenant, il y a un réel besoin.