| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Враппер и библиотека. Язык C# |
| Автор: Vezd 5.6.2011, 22:04 |
| Мне в C# надо использовать библиотеку, написанную на С. Для этой цели, как я понял, используется враппер. Что представляет из себя враппер, это один dll файл? Нужно подключать только враппер, а библиотека подключается автоматически? Где должны лежать файлы библиотеки и враппера? |
| Автор: jonie 6.6.2011, 09:40 |
| встречный вопрос: что вы уже прочитали про PInvoke и\или взаимодействие с COM в C# ? А также какую книжку вы выбрали, где есть глава "взаимодействие с унаследованным кодом" ? |
| Автор: mur88 6.6.2011, 10:34 |
| Вызов библиотечной функции С, из C# |
| Автор: Vezd 6.6.2011, 11:44 |
| jonie, а где об этом всем можно почитать? в каких именно книгах? нашел книгу Эндрю Троелсен. C# и платформа .Net, сейчас читаю соответствующую главу. Как враппер подключить кажется я понял. И враппер нужен для других неуправляемых dll, которые лежать в библиотеке. А как подключаются эти неуправляемые dll? их враппер сам подключает? и где должны лежать файлы библиотеки и неуправляемые dll? |
| Автор: jonie 6.6.2011, 20:11 | ||
|
| Автор: Vezd 7.6.2011, 00:06 | ||||||
| Скачал с сайта http://www.sdss.jhu.edu/~tamas/bytes/fftwcsharp.html враппер и скачал библиотеку http://fftw.org/#documentation. Поместил dll враппер в папку с библиотекой, где лежат exe и неуправляемые dll и другие файлы библиотеки. Подключил dll враппер. Попробовал осуществить пример, на основе кода, предоставленного на первом сайте. Но при первом же обращении к библиотеке
вылезает ошибка: Не удается загрузить DLL "libfftw3f-3.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) Мне где то посоветовали тогда написать(как раз LoadLibrary используется):
В результате я написал вот это:
Но лучше не стало, ошибка все та же: Не удается загрузить DLL "libfftw3f-3.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) Что же делать? Также вопрос: в библиотеке три DDL файла, для всех трех надо использовать LoadLibrary? |