Προς το περιεχόμενο

Matlab .dll called from C


derasto

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημερα,

 

εχω μια συναρτηση σε matlab και εχω φτιαξει το αντιστοιχο dll της.

Η συναρτηση μετραει κατι και επιστρεφει μια τιμη.

 

Πως μπορω να καλεσω το dll της συναρτησης και να παρω την τιμη μεσα απο C;

 

Ευχαριστω.

Δημοσ.

Καλημερα,

 

εχω μια συναρτηση σε 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

Δημοσ.
>#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;}

Δημοσ.

Εξαρταται.. Εαν το dll ειναι PE και το abi ειναι c και δεν ειναι COM.

Τεσπα κατεβασε αυτο ανοιξε το dll, και αν εχεις τη συναρτηση που θελεις τοτε κανε το παραπανω, εαν εχεις κατι του τυπου RegisterDll τοτε... αστα

 

ΥΓ

post-216584-0-23993200-1303243123_thumb.jpg

Δημοσ.

Aκυρο,δεν την βλεπω.Επισης βγαζει warning στο MSVCR80.DLL . Προχωραω και ο θεος βοηθος. Αν και εχει ξεφυγει η διαδικασια απο το concept της εργασιας και δεν βλεπω φως.

Τεσπα.

Thanks

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...