Как известно, в рамках .NET существует CTS (Common Type System). При этом, чтобы функцию, написанную на С++ можно было вызвать из других языков, ее аргументы должны удовлетворять CTS и, в числе прочего, не содержать беззнаковых типов. Однако многие стандартные функции С (например srand) работают именно с беззнаковыми типами.
Таким образом получается, что платформа .NET несовместима с ANSI C и ANSI C++ стандартами.
Вопрос:
1. Нафига нужна такая платформа, которая не поддерживает обратную совместимость?
Спасибо.
21.10.10 20:13: Перенесено модератором из 'C/C++' — Odi$$ey
22.10.10 15:01: Перенесено модератором из 'Священные войны' — Kupaev
Re: Обратная совместимость С, С++ и система типов дотнет.
P>Добрый день.
P>Как известно, в рамках .NET существует CTS (Common Type System). При этом, чтобы функцию, написанную на С++ можно было вызвать из других языков, ее аргументы должны удовлетворять CTS и, в числе прочего, не содержать беззнаковых типов. Однако многие стандартные функции С (например srand) работают именно с беззнаковыми типами.
P>Таким образом получается, что платформа .NET несовместима с ANSI C и ANSI C++ стандартами.
P>Вопрос:
P>1. Нафига нужна такая платформа, которая не поддерживает обратную совместимость?
P>Спасибо.
ИМХО понятие обратной совместимости тут неуместно.
Re: Обратная совместимость С, С++ и система типов дотнет.
P>Добрый день.
P>Как известно, в рамках .NET существует CTS (Common Type System). При этом, чтобы функцию, написанную на С++ можно было вызвать из других языков, ее аргументы должны удовлетворять CTS и, в числе прочего, не содержать беззнаковых типов. Однако многие стандартные функции С (например srand) работают именно с беззнаковыми типами.
P>Таким образом получается, что платформа .NET несовместима с ANSI C и ANSI C++ стандартами.
P>Вопрос:
P>1. Нафига нужна такая платформа, которая не поддерживает обратную совместимость?
P>Спасибо.
А с какого, простите, органа?
Из-за того, что вам кажется, что существует развитие С -> C++ -> C#.
Т.к. C# похоже на С++, где плюсики наехали друг на друга ?
Re: Обратная совместимость С, С++ и система типов дотнет.
pepsicoca wrote:
> этом, чтобы функцию, написанную на С++ можно было вызвать из других > языков, ее аргументы должны удовлетворять CTS и, в числе прочего, не > содержать беззнаковых типов.
Это они что, из Java и это унаследовали ? Не знал. Думал, они были умнее.
> Вопрос: > > 1. Нафига нужна такая платформа, которая не поддерживает обратную > совместимость?
+1
Posted via RSDN NNTP Server 2.1 beta
Re: Обратная совместимость С, С++ и система типов дотнет.
Здравствуйте, pepsicoca, Вы писали:
P>Как известно, в рамках .NET существует CTS (Common Type System).
Это просто часть спецификации (CLI), описывающей минимальные требования к языку, что бы он мог работать в рамках платформы .NET.
P>При этом, чтобы функцию, написанную на С++ можно было вызвать из других языков, ее аргументы должны удовлетворять CTS
Небольшое уточнение — аргументы должны иметь CLS совместимый аналог, что бы их можно было вызывать из всех языков платформы. При этом сама платформа значительно шире, чем CLS (UInt32 Structure
P>Таким образом получается, что платформа .NET несовместима с ANSI C и ANSI C++ стандартами.
Все платформы должны быть совместимы со стандартами ANSI C и ANSI C++?
P>1. Нафига нужна такая платформа, которая не поддерживает обратную совместимость?
Вброс не очень
Re[2]: Обратная совместимость С, С++ и система типов дотнет.
Здравствуйте, blackhearted, Вы писали:
B>Из-за того, что вам кажется, что существует развитие С -> C++ -> C#. B>Т.к. C# похоже на С++, где плюсики наехали друг на друга ?
лично я, когда впервые о нем услышал, так и подумал.
Приветствую, blackhearted, вы писали:
b> Из-за того, что вам кажется, что существует развитие С -> C++ -> C#. b> Т.к. C# похоже на С++, где плюсики наехали друг на друга ?
Кстати да, это один из великолепных психологических ходов МС.
Здравствуйте, blackhearted, Вы писали:
B>Из-за того, что вам кажется, что существует развитие С -> C++ -> C#. B>Т.к. C# похоже на С++, где плюсики наехали друг на друга ?
Это еще ладно. А вот то, что С++ — это другой язык, а не "расширенный С" — для меня лично было неожиданно.
Re: Обратная совместимость С, С++ и система типов дотнет.
Здравствуйте, Sheridan, Вы писали:
S>Приветствую, blackhearted, вы писали:
b>> Из-за того, что вам кажется, что существует развитие С -> C++ -> C#. b>> Т.к. C# похоже на С++, где плюсики наехали друг на друга ?
S>Кстати да, это один из великолепных психологических ходов МС.
Это тебе мнительный товарищ-программер подсказал?
А apple с objective-C не смог похожую штуку провернуть, хотя и придумал язык пораньше...вот досада...