|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.07.2013, 12:44 | #1 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 32
|
подключение dll
правильно ли, что dll на C# состоит из IL инструкций? Как происходит дальнейшая работа программы, в которую подключается dll ? CLR скопирует код используемых классов этой библиотеки в исходную мою сборку ?
PS не бейте меня бамбуковыми палками, я знаю C++ и хочу понять работу компилятора\рантайм-машины в C# ) |
08.07.2013, 15:33 | #2 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
08.07.2013, 17:23 | #3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Насчет того, куда грузится сборка: в т.н. AppDomain, текущий для того потока, который загрузил сборку. В простейшем случае этот домен один. Это происходит уже в рантайме, т.е. физически ваше приложение не меняется (там просто "сказано", что такие-то типы из такой-то сборки). Когда в вашей программе будет нужен какой-то класс из DLL, произойдет загрузка её типов, и их можно будет использовать. Фишка в том, что загруженную таким стандартным способом DLL нельзя выгрузить - сборка выгружается только при выгрузке её домена.
Ради эксперимента можете поиграться с reflection, чтобы понять как всё работает. p.s. Есть ещё пара любопытных вещей на тему: NGen - позволяет генерить native сборку из managed - и прощай IL ILMerge - тулза, позволяющая объединять несколько сборок в одну
Изобретатель велосипедов
Последний раз редактировалось Selestis; 08.07.2013 в 17:26. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение DLL на С++ | mrbadge | Общие вопросы Delphi | 1 | 03.10.2012 23:13 |
подключение DLL | Lui | C# (си шарп) | 5 | 14.01.2012 13:05 |
Подключение DLL | Ninetta | Общие вопросы .NET | 3 | 01.04.2010 01:06 |
Подключение DLL | __Demon__ | C++ Builder | 2 | 09.12.2009 00:29 |
Подключение DLL | 5naip | Помощь студентам | 9 | 27.10.2007 20:55 |