Есть ли средства автоматического преобразования заголовочных .h файлов в экспортируемые c# библиотеки?
Предположим, имеется некая библиотека, написанная на c/c++/fortran/etc. Есть скомпилированная .dll (допустим, тот же lapack.dll) и заголовочный файл .h (lapack.h) с c/c++ интерфейсом. Можно ли как-то автоматически .h-файл превратить в .cs?
Т.е. чтобы автоматически из чего-то, что можно подключить, просто написав
#include "lapack.h"
который содержит
void LAPACK_dgtsv(
lapack_int const* n, lapack_int const* nrhs,
double* DL,
double* D,
double* DU,
double* B, lapack_int const* ldb,
lapack_int* info );
получить lapack.cs с кодом
[DllImport("lapack.dll", CharSet = CharSet.Ansi, EntryPoint = "dgtsv_")]
public static extern void DGTSV(
ref int n, ref int nrhs,
ref double DL,
ref double D,
ref double DU,
ref double B, ref int ldb,
ref int info);
который можно будет подключить в свой проект просто написав
using Lapack;
Как это можно сделать в ручном, но слегка автоматизированном режиме, я уже знаю - Как конвертировать c/c++ заголовочные .h файлы для OpenBLAS/LAPACK в c# библиотеку.
Но может как-то можно натравить какой-нибудь Сосо/R на это? Я с кокосом ни разу не работал, но примерно представляю его возможности... Но может всё-же есть что-то проще...