Здравствуйте, Shmj, Вы писали:
S>Потому что нужна реализация сборщика мусора и прочих фишек .net под все 6 платформ — а этого просто нет.
Ну конечно же есть.
S>Внутри библиотеки пользуете все фишки C++ -а. А наружу делаете простые упрощенные обертки в C-стиле. Никаких проблем с этим нет. Библиотеку изменять не нужно.
Дыштакое то. Ну сделайте мне простые "упрощённые обёртки" над STL в C-стиле. Над boost::bind мне сделайте обёртку!
S>Ссылка на функцию стандартизирована.
. А ссылка на объект класса — нет, не стандартизована. VMT не стандартизована. Обработка исключений не стандартизована. Менеджер памяти не стандартизован. Примерно ничего из того, что может захотеться использовать в С++-библиотеке, не стандартизовано.
S>Выше написал — нет сборщика мусора под все платформы
от повторения ваше заблуждение не станет ближе к истине. Под какую из платформ вы не нашли CLR?
S>и возможности собрать стандартную .net-библиотеку под все платформы.
Есть такая возможность. Аж два раза: можно запаковать в "библиотеку" зависимость от .net runtime, и поставлять байткод. А можно собрать из библиотеки .dll/.lib под нужную платформу при помощи NativeAOT.
S>А C++ — все можно. Даже важные сторонние библиотеки все собираются под все платформы — тот же boost.
Вы путаете две ортогональных вещи: кроссплатформенность и межъязыковую совместимость. Оттого, что boost можно "собрать" (на самом деле — нельзя) под все платформы, он не станет доступным из кода на Java или Object Pascal. "