Есть ли средства автоматического преобразования заголовочных .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 на это? Я с кокосом ни разу не работал, но примерно представляю его возможности... Но может всё-же есть что-то проще...


Ответы (0 шт):