Я занимаюсь разработкой сложной библиотеки на C ++ и планирую иметь интерфейс C, чтобы другие могли загрузить DLL и легко получить доступ к библиотеке.Я не пробовал писать код на C #, который имеет доступ к C-коду.Я сделал быстрый Google и нашел код, который использует много атрибутов.
Что я могу сделать, чтобы мой интерфейс был достаточно простым, чтобы не вызывать головную боль, пытаясь синхронизировать .NET с ним?Могу ли я использовать какой-нибудь инструмент для создания заголовков?Я использую только простые структуры POD?Я не уверен, как я должен обрабатывать типы, поскольку они передаются как указатели.Я также думаю, может быть, мне следует избегать использования всего, что не является int / string или массивом.
Я разрабатываю это с использованием MSVC, но в основном использую это с GCC.Я знаю, что должен использовать соглашение о вызовах __stdcall.Помимо того, что я сказал, я абсолютно невежественен.Я на самом деле не знаю, как загрузить DLL в .NET.
Что я могу сделать, чтобы убедиться, что все работает правильно, когда я пишу C lib и заставляю его работать с .NET?