derasto Δημοσ. 19 Απριλίου 2011 Δημοσ. 19 Απριλίου 2011 Καλημερα, εχω μια συναρτηση σε matlab και εχω φτιαξει το αντιστοιχο dll της. Η συναρτηση μετραει κατι και επιστρεφει μια τιμη. Πως μπορω να καλεσω το dll της συναρτησης και να παρω την τιμη μεσα απο C; Ευχαριστω.
παπι Δημοσ. 19 Απριλίου 2011 Δημοσ. 19 Απριλίου 2011 Καλημερα, εχω μια συναρτηση σε matlab και εχω φτιαξει το αντιστοιχο dll της. Η συναρτηση μετραει κατι και επιστρεφει μια τιμη. Πως μπορω να καλεσω το dll της συναρτησης και να παρω την τιμη μεσα απο C; Ευχαριστω. Φορτωνεις το dll με http://msdn.microsoft.com/en-us/library/ms684175(v=vs.85).aspx και μετα περνει το δεικτη της συναρτησης με http://msdn.microsoft.com/en-us/library/ms683212(v=vs.85).aspx
παπι Δημοσ. 19 Απριλίου 2011 Δημοσ. 19 Απριλίου 2011 >#include <Windows.h>// windows staffs /* estw dll foo.dll kai function int bar(float f1,float f2); */ typedef int (*bar)(float,float); int main(int,char**) { HMODULE hDll = LoadLibraryA("foo.dll"); //load dll sth mnhmh bar barFunction; //enas pointer gia thn function barFunction = (bar) GetProcAddress(hDll,"bar"); //pare ton pointer ths function if(!barFunction) printf("error"); else { int res = barFunction(1.0f,5.0f); //todo } FreeLibrary(hDll); return 0;}
derasto Δημοσ. 19 Απριλίου 2011 Μέλος Δημοσ. 19 Απριλίου 2011 H barfunction ειναι η συναρτηση tou matlab ας πουμε ετσι;
παπι Δημοσ. 19 Απριλίου 2011 Δημοσ. 19 Απριλίου 2011 Εξαρταται.. Εαν το dll ειναι PE και το abi ειναι c και δεν ειναι COM. Τεσπα κατεβασε αυτο ανοιξε το dll, και αν εχεις τη συναρτηση που θελεις τοτε κανε το παραπανω, εαν εχεις κατι του τυπου RegisterDll τοτε... αστα ΥΓ
derasto Δημοσ. 19 Απριλίου 2011 Μέλος Δημοσ. 19 Απριλίου 2011 Aκυρο,δεν την βλεπω.Επισης βγαζει warning στο MSVCR80.DLL . Προχωραω και ο θεος βοηθος. Αν και εχει ξεφυγει η διαδικασια απο το concept της εργασιας και δεν βλεπω φως. Τεσπα. Thanks
warchief Δημοσ. 20 Απριλίου 2011 Δημοσ. 20 Απριλίου 2011 Συμβουλέψου το documentation της Mathworks σχετικά με τον Matlab compiler, section C Shared Library Target http://www.mathworks.com/help/toolbox/compiler/f2-972343.html#f2-999458
παπι Δημοσ. 20 Απριλίου 2011 Δημοσ. 20 Απριλίου 2011 Ανεβασε το dll μαζι με τα προτυπα των συναρτησεων.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.