Отцам Матлаба и прочим продвинутым юзверям..
насколько я знаю не все dll можно прикрутить, а только MEX на сях
смотри в хелпе mexFunction... еще может быть можно COM-компоненты подцеплять, но я не уверен
рекомендую Математику 5, в смысле интеграции наиболее продвинутая на данный момент
от таких пространственных советов легче не стало...
void mexFunction( int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[] )
Эту функцию будет вызывать среда Matlab, чтобы передать в DLL параметры и забрать обратно, то что DLL насчитала. Собрать DLL можно как из командной строки Matlab, так и из IDE MS VC. Всё это описано в справке на Matlab и ещё в книжке "Компьютер в математическом исследовании" (lorien.local по запросу maple_matlab_latex) на странице 434 есть кусочек про это. Чего же боле?
в ней одна функция по связи с портом в 2000-й виндовсе.
Я понимаю, что на то и создается матлабом .dll , чтобы использовать ф-ции, написанные в си, как матлабовские, но вся фишка как раз в том, что необходимо подрубить не матлабовскую .dll-ку.
Я видел такие вещи , как
dumpbin main.dll/export
на матлабовском форуме, но у меня лично нихрена не пашет, даже выдает, что нет такой ф-ции dumpbin...
ЗЫ. Ссылку на книгу обязательно посмотрю, когда домой приду.
предыдущую мессагу беру на себя
dll - внешняя, то есть не мной написана, скорее всего на C++, хотя может и еще на чем, но точно не в матлабе...ОК, с этой DLL ещё что нибудь идёт? Ну там .h файл например. Откуда ты взял её такую? А то разобраться с голой DLL (не зная прототипов функций) будет трудно. В принципе, можно написать свою DLL, которая будет вызываться Matlab'ом и вызывать функции из внешней DLL.
...вся фишка как раз в том, что необходимо подрубить не матлабовскую .dll-ку.
в ней одна функция по связи с портом в 2000-й виндовсе.А что за порт? Порт ввода/вывода или COM порт или ещё что-то?
видел такие вещи , какdumpbin - это такая утилита. которая в частности умеет просматривать таблицу экспорта в DLL. Идёт в составе MS VC++ 6.0/7.0 (за другие не отвечу). То есть ты можешь зайти в каталог типа E:\Program Files\Microsoft Visual Studio\VC98\Bin или где там у тебя VC стоит и увидишь там прогу dumpbin.exe. Делаешь в ком. строке DUMPBIN.EXE /exports my_cool.dll и видишь список функций, которые my_cool.dll экспортирует. Только это, мне кажется, тебя не спасёт, ну увидишь ты там что вроде:
dumpbin main.dll/export
на матлабовском форуме, но у меня лично нихрена не пашет, даже выдает, что нет такой ф-ции dumpbin
ordinal hint RVA name
1 0 00002810 _De32
2 1 000028D0 _D4
3 2 000027C0 _St12
4 3 000028E0 _Upd12
5 4 00002590 _fil24
И чего? Про то, какие параметры передавать функциям ты не узнаешь. Нужен .h файл к этой DLL.
может, я выложу ее - посмотришь?
dll идет вместе с дровами для движка, но без дополнительных файлов
есть даже описание к этой .dll
может, я выложу ее - посмотришь?
Выкладывай, я посмотрю, вдруг поможет.
ну хорошо, открыл ты порты, а читать потом чем собираешься?
мне бы главное идею понять, а дальше уж сам разберусь...
P.S. версия матлаба у тебя какая?
матлаб 6.1
правда, матлаб у меня 6.5 ... надеюсь библиотеки подойдут
P.S. только, как говорится, с исходниками
кстати, насколько библиотеки надежные? а то может там в DllMain код какой вредоносный?
кстати, ты не в Д-2 сидишь?
надежные - не для фигни всякой они создавались..
стати, ты не в Д-2 сидишь?
я что, маньяк там до 12 ночи сидеть?
а так, вообще - да, бываю
ну тогда я тот маньяк, который второй день подряд Шифта ищет...
З.Ы А открывать порты всем процессам в системе только потому, что лень писать драйвер - нечестно.
угу, прога получилась 128 строк
Оставить комментарий
pstp
Может кто знает, как подключить внешние .dll к матлабу?