How to call .dll without header file

조회 수: 10 (최근 30일)
Kiruthika
Kiruthika 2025년 5월 7일
댓글: Kiruthika 2025년 5월 8일
DLL is generated from C# code. So there's no header file. I want to call this dll from matlab.
Loadlibrary requiries .h file which is not available in my case. What is the best way to run the dll from matlab.?

채택된 답변

Walter Roberson
Walter Roberson 2025년 5월 7일
The header files is necessary for identifying function "signatures" -- knowing what datatype each function parameter is.
So the answer is "You don't call a C# dll without a header file. Write the header file yourself if need be.
The main alternative is to create the C# as a .NET assembly and use https://www.mathworks.com/help/matlab/ref/net.addassembly.html
  댓글 수: 1
Kiruthika
Kiruthika 2025년 5월 8일
Hi Walter,
Thanks for replying. I used addassembly. It loads the all the structures, classes, etc. How do I call the methods from the dll.?
I'm not very clear on how to instantiate the class and use it. Attached the screenshot of the workspace after running addassembly and the c# code.
I'm trying to connect to http link. Any leads will be appreciated.
Thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

TED MOSBY
TED MOSBY 2025년 5월 7일
Hi Kiruthika,
Loadlibrary is only for native (un‑managed) DLLs. A DLL that comes from C# is managed code—a .NET assembly—so you should use MATLAB’s built‑in .NET interface instead of loadlibrary.
dllPath = fullfile('C:\path\to','MyDotNetLib.dll');
asmInfo = NET.addAssembly(dllPath);
Here's a link to the above MATLAB function: https://www.mathworks.com/help/matlab/ref/net.addassembly.html
Hope ths helps!

카테고리

Help CenterFile Exchange에서 MATLAB Compiler SDK에 대해 자세히 알아보기

제품


릴리스

R2006a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by