Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

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

start [/forum/topic.php?fid=20&tablet=1&tid=1437517]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 352ms |

| 0 / 0 |
