Взаимодействие с DLL
От: Алексей Дубовцев Россия  
Дата: 15.02.02 06:43
Оценка: 285 (14) +2
Статья:
Взаимодействие с DLL
Автор(ы): Алексей Дубовцев
Дата: 22.10.2001


Авторы:
Алексей Дубовцев

Аннотация:
В этой статье мы обсудим взаимодействие с динамически подключаемыми библиотеками. Если вы уже занимались программированием для .NET, вы наверняка заметили, что использовали общую библиотеку, предоставляемую средой исполнения, и наверняка не делали ни одного системного вызова. То есть вы не обращались к Windows API напрямую, а следовательно, ваш код платформенно независим. А это, в свою очередь, означает, что он может быть выполнен на любой платформе, где будет присутствовать среда исполнения .NET с общей библиотекой исполнения. Это, конечно, здорово, но что же делать, если вы строго ориентированы на платформу Windows, и вам необходимо использовать уже разработанный вами код? Вы, наверное, очень обрадуетесь, когда узнаете, что сделать это будет очень легко.
Performance
От: Igor Trofimov  
Дата: 16.02.02 06:43
Оценка:
Вот тут бы дополнить раздельчиком о затратах на вызов функций в обычных dll из .NET.
GetProcAddress
От: Nivedano Беларусь  
Дата: 20.03.02 05:19
Оценка:
Больше осталось. Я пока не нашел способа динамически подвязывать методы, то бишь

uint hmodule = LoadLibrary( "blabla.dll" );

IntPtr func = GetProcAddress( hmodule, "foo" );

как преобразовать этот указатель в делегат?...
MISL????
От: Виноградов О.В. Россия  
Дата: 17.04.02 00:31
Оценка:
Всегда был уверен, что оно зовется MSIL — Microsoft Intermediate Language...
Re: Performance
От: XRonos Россия  
Дата: 02.09.02 11:54
Оценка:
Присоединяюсь к этому вопросу...
И еще, помоему, в MC++ нет необходимости в маршалинге аргументов функции, особенно API функций, которые написаны как неуправляемый код. Т.е. можно спокойно обычным образом вызывать эти функции напрямую. Все это будет работать на WIN32 (для других платформ не уверен)... Наверное, в этом и есть прелесть MC++ от других CLS-х языков.
Бди!
соответствие типов
От: GeTi  
Дата: 18.09.02 15:39
Оценка:
хорошая статья, но у меня небольшое предложение — дополнить табличкой соответствия типов для объявления импортируемых функций
Re: Взаимодействие с DLL
От: adontz Грузия http://adontz.wordpress.com/
Дата: 31.03.04 22:11
Оценка:
Здравствуйте, Алексей Дубовцев, Вы писали:

whois Viasual Basic.NET ?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Performance
От: vdimas Россия  
Дата: 31.03.04 23:12
Оценка:
Здравствуйте, XRonos, Вы писали:

XR>Присоединяюсь к этому вопросу...

XR>И еще, помоему, в MC++ нет необходимости в маршалинге аргументов функции, особенно API функций, которые написаны как неуправляемый код. Т.е. можно спокойно обычным образом вызывать эти функции напрямую. Все это будет работать на WIN32 (для других платформ не уверен)... Наверное, в этом и есть прелесть MC++ от других CLS-х языков.

Действительно, увидев для MC++ эти примеры — обхохотался.
А вот unsafe не увидел.
Как раз неплохо было бы изложить unsafe вызовы после раздела о быстродействии маршаллируемого варианта
(как средство борьбы с переливанием из пустого в порожнее)
Re: Взаимодействие с DLL
От: Vladimir Bychkov США  
Дата: 17.09.04 17:16
Оценка:
Спасибо большое!
Очень полезная статья, жаль что я наткнулся на нее немного поздно
До этого прочитал статью г-на Блонга. Советую всем кто интересуется данной темой!

Еще раз спасибо!
Best regards
Vladimir Bychkov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.