You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Function which generates a C# interface for a c++ DLL generated by the
Matlab Coder (with Visual Studio compiler).
Not only the external functions are wrapped also the structs, exposing
only managed classes and functions to the C# user.
Tested with Visual Studio 2017 in combination with Matlab ( Coder ) 2018a.
wrap_dll_csharp(filename_prj, filename_cs, namespace_cs, classname_cs, dllfilename_cs)
inputs:
(optional)
filename_prj : The coder project which generated coded
(example 'example.prj');
filename_cs : The full filename of the C-sharp file which will be written
(example 'example1.cs')
namespace_cs : The name space used in the C-sharp file,
(example, 'example1')
classname_cs : The class wrapping the external functions,
(example, 'example1_class')
dllfilename_cs : The full filename of the DLL file when using the c-sharp code,
(example, 'example1.dll')%
******* Example of calling the DLL through the generated C# code interface
// Matlab class input
var class1 = new class1();
// Double array 3x3 property of class
var data = new emxArray_real_T(3,3);
class1.Data = data;
// Set Text property of class
class1.Name = "test';
// Cell array output of matlab function
cell_0 b_Managed = new cell_0();
// Call initialize function made by the Matlab-coder
name_length_class.name_length_initialize();
// Call the c++ converted Matlab function
name_length_class.name_length(ref class1, ref b_Managed);
*********
Note, thus no more need to code DllImport, ASCIIEncoding or GCHandle.Alloc, this is all done by this C# interface generator.
Cite As
Dirk-Jan Kroon (2026). wrap_dll_csharp (https://in.mathworks.com/matlabcentral/fileexchange/67496-wrap_dll_csharp), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.2.0.0 (10.3 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.2.0.0 | Added support dynamic memory for variable sized function outputs |
||
| 1.1.0.0 | Now generates valid code, even when runtime checks are turned on. Now also supports returning single value instead of array or structure |
||
| 1.0.0.0 | changed title |
