Projekt umstellen von exe zu lib
-
Hallo ich da ein kleines Problem
ich hatte ein Programm, welches als Output ne exe hatte und nun sollte dieses Programm an ein anderes angebunden werden, daher habe ich eine lib erstellt. na klar habe ich noch viel daran geändert, allerdings bekomme ich jetzt an einer Stelle immer wieder einen Runtime Fehler, die vorher wunderbar gefunzt hatte:
memcpy(mxGetPr(SettingMatlab), vssetting, setting_size*sizeof(double));
Das Problem könnte event. damit zutun haben das ich mit Matlab lib´s arbeite.
Aber wie erwähnt vorher funktionierte diese Zeile einwandfrei! ich habe auch nichts an der deklaration oder Initialisierung geändert, daher wollte ich fragen ob ich beim umstellen des Outputs etwas besonderes beachten muss???!!
Vielen Dank für die Hilfe!
-
Hat keiner eine Idee???
Oder wenigstens einen Ansatz den ich mir mal anschauen sollte?
Danke schon mal im voraus!
-
Ich würde darauf tippen, dass es sich um fehlerhaften Code handelt.
memcpy
und Konsorten sind ja relativ anfällig für Speicherzugriffsverletzungen und dergleichen, also gehst du am besten zuerst mal noch diese Möglichkeiten durch. Dann würde ich empfehlen, dass du die Linkereinstellungen überprüfst. Sind Debug- oder Relase-Libs gelinkt? Wechsel diese Libs aus und schau, ob auch dann ein Fehler auftritt...btw: Was hat das alles mit C++/CLI zu tun?
-
Vielen Dank für deine Antwort.
Habe das Problem gelöst. Es lag nicht wirklich an dieser Zeile. Für alle die ein ähnliches Problem haben.
Wenn ihr mit einer DLL von Matlab arbeitet, dann muss erst die DLL initialisiert werden und dann können die Variablen initialisiert werden.
Bei mir wurde eine Variable vor der DLL initialisiert udn die andere danach. schon hatte memcpy das Problem.
Also es läuft jetzt einwandfrei, allerdings wenn mir einer erklären kann, warum sich das oben erwähnte so verhält würde ich mich sehr freuen.
Vielen Dank trotzdem.