У меня есть несколько собственных библиотек C ++ и таких, которые мне нужно предоставить для управляемого (в данном случае C #) кода. Мне нужно получить как можно больше скорости.
Я хотел бы использовать некоторые классы для упрощения взаимодействия, что означает смешанный код, но это не является обязательным требованием.
Требуется, чтобы он был кросс-платформенным, в худшем случае - для Windows и Linux. Таким образом, стандарт / clr не может быть и речи.
Мои опции: / clr: pure или / clr: safe, или встраивание Mono в слой промежуточного уровня. У меня вопрос, что будет лучше (лучшая производительность и простота разработки и последующего использования).
В библиотеках, с которыми мне нужно работать, интенсивно используются указатели и иногда общие указатели, что заставило меня подумать, что слой C ++ / CLI будет проще. Я написал простое приложение для тестирования использования некоторых объектов и скомпилировал его с помощью / clr: pure, он не связывался с собственным модулем, но работал под Windows и Linux.