Использование собственных заголовков в проекте C#
Всем привет,
Вот мой вопрос. У меня есть собственный проект со многими заголовками и классами, которые я пытаюсь обернуть с помощью c++/cli, чтобы иметь dll, на которую я мог бы ссылаться в своем проекте c#.
В какой-то момент у меня есть только файл заголовков (без соответствующего класса), который содержит только математические функции, и я использую их, включая в свой проект. Мой родной проект работает очень хорошо.
Когда у меня есть заголовок и соответствующий класс, я могу обернуть это. Но когда у меня есть только заголовок с несколькими функциями, я не знаю, как их обернуть.
Как можно обернуть эти заголовочные файлы ?
P. S : Вот пример заголовков, которые я пытаюсь обернуть в C++/CLI
#ifndef ASSIM_H #define ASSIM_H #include "et.h" // Changes the given model parameter based on current temperature. // k25 (model parameter at 25 deg. C), q10 (Q10 value), // lftemp (leaf temperature, deg. C) double Q10(double k25, double q10, double lftemp) { return (k25 * pow(q10, (lftemp - 25.0) / 10.0)); } // Rubisco capacity rate (umol m-2 s-1) // lftemp (leaf temperature, deg. C) double Vcmax(double lftemp) { double const VCMAX = 200.0; // max rate double dExp = 1.0 + exp(0.128 * (lftemp - 40.0)); return (Q10(VCMAX, 2.4, lftemp) / dExp); } // CO2 compensation point (umol mol-1) // lftemp (leaf temperature, deg. C) double CO2CompensationPt(double lftemp) { double const TAU = 2600.0; // specificity factor double const OA = 210000.0; // O2 concentration double dTau = Q10(TAU, 0.57, lftemp); return (OA * 0.5 / dTau); }
Что я уже пробовал:
Я пытаюсь создать класс ref для инкапсуляции этих функций/заголовков, но мне нужно использовать указатель на собственный класс, но дело в том, что это не класс, а только список функций, выполняющих вычисления.
0x01AA
Я никогда не использовал его, но, возможно, он может помочь вам: PInvoker-C#/VB.NET инструменты генерации интерфейса PInvoke[^]