wrap_dll_csharp
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.
Cita come
Dirk-Jan Kroon (2024). wrap_dll_csharp (https://www.mathworks.com/matlabcentral/fileexchange/67496-wrap_dll_csharp), MATLAB Central File Exchange. Recuperato .
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
Versione | Pubblicato | Note della release | |
---|---|---|---|
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 |