Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Проблемы с подключением dll


Автор: Voidoid 1.6.2007, 20:05
Дело в следующем...
На C# в Visual Studio 2005 элементарная прога, где создаются два массива, вызывается dll с асемблеровским кодом, где прописана процедура, куда передаются массивы. Процедурка делает свое дело и возвращает результирующий массив.

Подключение dll в С# и объявление прототипа функции выглядят так:
[DllImport("E:\\LG\\Lab_asm\\po04dll.dll", SetLastError = true, CharSet = CharSet.Ansi)]
unsafe public static extern float* ex_sse_p(float[] a, float[] b);                     

Так вот, когда дело подходит к подключению dll выдается исключение:
Unable to load DLL 'E:\\LG\\Lab_asm\\po04dll.dll': Неверная попытка доступа к адресу памяти. (Exception from HRESULT: 0x800703E6)

Причем, дальше бред)), был изначально файлик (тот самый po04dll) с асмовским кодом. Вот если в него добавлять функции, редактировать и его же вызывать, то никаких исключений, всё работает. Но если создать новый другой .asm файл с кодом в точь-точь (в каждую буквочку), как и в изначальном, то всё исключение....
И так у всей группы (той самой ПО04))).... 

Вот и юзаем всей группой один и тот же файлик, аккуратно его правя))) изврат))

Кста, .asm "превращается" в dll с помощью masm32 версии 6.

Может кто сталкивался с таким, подскажите в чем дело???!!!....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)