Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
межъязыковое взаимодействие
|
|||
|---|---|---|---|
|
#18+
Я не очень разбираюсь в низкоуровневых языках, поэтому хочу высказать предположение, а вы меня исправьте, если оно не верное. В одной книге написали, что межъязыковое взаимодействие достигается благодаря единой CLR и коду IL. На счет IL я не согласен. Ведь CLR не испольняет сам код IL, а компилит его перед этим в native код. Ведь можно добиться межъязыкового взаимодействия без IL: например все компиляторы для разных языков компилировали бы не один и тот же IL код, а один и тот же native код по одному алгоритму, который бы исполняла единая среда исполнения. Таким образом можно было бы обеспечить межъязыковое взаимодействие без промежуточного языка типа IL. Я прав? Ведь на самом деле сам IL содержит только двоичные инструкции наподобии что положить с стек и сам IL абсолютно нейтрален к типам, а типы, список внешних сборок, и т.д. содержатся именно в таблицах метаданных(таже сам IL код находится в метаданных). Многе думают, что типы есть в IL, потому что видят их в ILDASM.exe, а он их просто вытаскивает из метаданных и представляет в красивом виде. А значит вся удобная работа со сборками осуществляется за счет именно метаданных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 23:08 |
|
||
|
межъязыковое взаимодействие
|
|||
|---|---|---|---|
|
#18+
Я не силен в тонкостях архитектуры .НЕТ, поэтому могу в чем-то ошибаться. Межъязыковое взаимодействие достигается именно за счет IL. Потому что любой CLS-совместимый компилятор генерирует код на IL. При этом в идеале для одних и тех же алгоритмов IL-код получается одинаковый. А вот native код уже может отличаться в зависимости от конкретной аппаратной платформы. Почему взаимодействие через IL, а не через native? .NET - в некотором смысле еще один уровень абстракции. И IL - это некоторый "контракт" на взаимодействие с аппаратной платформой. И в этом смысле native-код не портируемый. Отсюда же возможны проблемы со взаимодействием сборок, написанных на разных языках и скомпилированных различными компиляторами. Компиляторы же в общем случае могут генерить не совместимый native-код. А .NET обязывает компиляторы генерить IL-код (который в итоге все равно компилируется в native и потери в производительности минимальны). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2005, 02:18 |
|
||
|
межъязыковое взаимодействие
|
|||
|---|---|---|---|
|
#18+
gazon Bigheadman прав. Почему же тогда не сделали взаимодействие между C++ и Java?? И не у кого мысли не возникало по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2005, 22:37 |
|
||
|
межъязыковое взаимодействие
|
|||
|---|---|---|---|
|
#18+
>> Почему же тогда не сделали взаимодействие между C++ и Java?? Потому, что оно всегда было. JNI называется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2005, 17:01 |
|
||
|
межъязыковое взаимодействие
|
|||
|---|---|---|---|
|
#18+
>> Ведь можно добиться межъязыкового взаимодействия без IL: Для межмодульного взаимодействия нативного кода достаточно знать соглашения о вызове и сигнатуру вызываемой функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2005, 17:06 |
|
||
|
межъязыковое взаимодействие
|
|||
|---|---|---|---|
|
#18+
gazon Межъязыковое взаимодействие осуществляется благодаря общей спецификации CLS. Только некоторое подмножество IL, а также подмножество C#, VB.NET и других языков соответствует CLS. Только в пределах CLS гарантировано взаимодействие. Поэтому сам по себе IL в контексте обсуждаемого вопроса не имеет каких-то примуществ по сравнению с допустим С# и не является гарантом взаимодействия. Так что по-моему Вы совершенно правы. Просто договорились - даешь общую спецификацию CLS! - и все, вот тебе взаимодействие. Можно было бы придумать что-либо помимо IL, он не является ни необходимым, ни достаточным для решения задачи. В отличии от общей спецификации - без нее никак бы не вышло такого взаимодействия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 17:07 |
|
||
|
|

start [/forum/topic.php?fid=20&tid=1437517]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 367ms |

| 0 / 0 |
