Re[11]: Новости C#13. params
От: Shmj Ниоткуда  
Дата: 23.10.24 08:01
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>>Но на .Net вы и этим не сможете проблему решить.

S>И с чего бы это вдруг?

Потому что нужна реализация сборщика мусора и прочих фишек .net под все 6 платформ — а этого просто нет.

S>>В extern "C" нужно привести все к формату простого C. Шаблоны на верх не выдавать, исключения перевести в коды ошибок, вместо объектов — либо указатель голый либо даже хандлер.

S>Отож. "Привести к формату" можно только то, что приводится к формату. Ну не сможете вы STL привести к формату простого C.

Внутри библиотеки пользуете все фишки C++ -а. А наружу делаете простые упрощенные обертки в C-стиле. Никаких проблем с этим нет. Библиотеку изменять не нужно.

S>>Т.е. внешний API должен быть упрощенном виде и этого достаточно. А уже внутренне можете все фишки C++ -а юзать.

S> Нет, не можете. В обратную сторону всё работает точно так же — если у вас есть коллбэк, то он тоже ограничен.

Ссылка на функцию стандартизирована.

S>>На C# вы этого под все 6 платформ сделать не сможете.

S>Да почему не смогу-то? Упорствуете в заблуждениях.
S>Точно так же смогу, написав C-шную обёртку. С теми же жертвами. Да, в конце концов, неважно, что будет за обёртка — если уж мы взялись оборачивать обёртками, кто мне запретит выставить мою "библиотеку" в виде REST-сервиса? Запустил себе приложение — и вызывай его через HTTP. А уж возможность вызывать REST есть даже на большем количестве платформ и языков, чем умеющих импортировать C-шные динамические и статические либы.

Выше написал — нет сборщика мусора под все платформы и возможности собрать стандартную .net-библиотеку под все платформы. А C++ — все можно. Даже важные сторонние библиотеки все собираются под все платформы — тот же boost.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.