Я использую программу, разработанную кем-то другим с использованием C++ и matlab. У меня есть исходный код обоих, но я не знаю, что происходит ...Имя функции DLL, отличное от экспортированного
Matlab вызывает DLL генерируется из C++, используя что-то вроде этого:
myCustomCppFunction('param1', 'param2)
Я ожидал увидеть myCustomCppFunction в экспорте dll, но я не смог его найти.
Когда я бегу Dumpbin команду, я получаю что-то вроде этого:
dumpbin /exports c:/myCustomCpp.dll
ordinal hint RVA name
1 0 00001010 myCustomCppFunctionWithADifferentName
Так,
myCustomCppFunctionWithADifferentName = myCustomCppFunction
библиотека DLL экспортирует имя функции, которая отличное от имени функции, которое вызывает мой matlab. И я не говорю о искалеченных именах, оба названия на 100% разные, например «яблоко» и «банан». :-)
Как-то все работает нормально! но как?!?
В Matlab, я побежал который команду, которая подтверждает мне, что вызванная функция из DLL I'm следственному ....
>> which myCustomCppFunctionWithADifferentName
>> c:/myCustomCpp.dll
любые ключи?
Не могли бы вы назвать * актуальные * имена, имя вашей функции и имя в DLL? –
functionName как показано в dumpbin: «carWalk» functionName, которое Matlab вызывает: «iterateOverRoad» Имя DLL: «iterateOverRoad» – guilhermecgs
У DLL есть «точка входа»? Имеет ли это смысл? – guilhermecgs