How to call .dll without header file
11 ビュー (過去 30 日間)
古いコメントを表示
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.?
0 件のコメント
採用された回答
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 件)
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!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で MATLAB Compiler SDK についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!