| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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. Может кто сталкивался с таким, подскажите в чем дело???!!!.... |