Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
darlit
1

Ошибка при подключении dll на Fortran к C#

04.01.2014, 15:46. Показов 1942. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Я пытаюсь подключить dll на фортране к c#, битность dll и проекта c# 64, каждый раз при запуске программа на c# возникает ошибка:
Не удается загрузить DLL "D:\TestFortranDll.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)

Я пробовал гуглить, но ничего из найденного проблему не решило.

Код на C#:
C#
1
2
3
4
5
    class Class1
    {
        [DllImport("D:\\TestFortranDll.dll", EntryPoint = "dllsub_", CallingConvention = CallingConvention.Cdecl)]
        public extern static void dllsub();
    }
C#
1
2
3
4
5
6
7
8
   class Program
    {
        static void Main(string[] args)
        {
            Class1.dllsub();
            Console.ReadLine();
        } 
    }
Код на Fortran:
Fortran
1
2
3
4
subroutin dllsub(A,B)
INTEGER A,B
A = B+1
end subroutine dllsub
Спасибо.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2014, 15:46
Ответы с готовыми решениями:

ошибка при статическом подключении DLL
при компиляции Embarcadero Rad Studio 2010 выдает ошибку:

Ошибка при подключении библиотеки Dll
Пши программу, которая через Dll общается с другой программой. О Dll известно только одно: названия...

При подключении user32.dll ошибка
format PE GUI 4.0 include '%fasminc%/win32a.inc' ; секции не обозначены, поэтому fasm...

Ошибка при подключении посторонней DLL
Привет Господа. Работаю в C# и столкнулся с такой проблемкой. Создал DLLку через Delphi7....

2
Эксперт С++
3701 / 2835 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 22
04.01.2014, 18:35 2
Подключением библиотеки С/С++ на С#

а что за странная точка входа с нижем тире dllsub_ ?

судя по dll функция dllsub не пустая, почему у вас в c# ничего не определено, попробуйте
C#
1
public extern static void dllsub(int a, int b);
0
208 / 164 / 29
Регистрация: 11.09.2013
Сообщений: 445
04.01.2014, 22:58 3
мне кажется, не поможет, т.к. при нарушении соглашения должны получить StackImbalance. здесь не оно, хотя исправлено верно. можно либу-то как-нибудь увидеть-пощупать?

кстати, есть ли гарантии, что там все скомпилено верно? т.е., к примеру, получалось ли использовать библиотеку средствами собсно фортрана или любого другого языка?

Добавлено через 2 минуты
и, кстати, еще пара вопросцев:

- тип возвращаемого значения - тот же int, который принимается?
- принимается точно int? какой - int16, int32, int64 или int128 (О_о фортран же</шутка>)? любая ошибка здесь - опять не запустится
1
04.01.2014, 22:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2014, 22:58
Помогаю со студенческими работами здесь

При подключении DLL: Ошибка при создании объекта из компоненты
Создана DLL. При попытке подключения из 1С получаем сообщение: Ошибка при создании объекта из...

Ошибка Отсутствует freetype6.dll при подключении freetype
Подключил freetype, чтобы писать текст в openGL.Выдаёт ошибку Отсутствует freetype6.dll. Не знаю...

Ошибка access violation executing location при динамическом подключении dll
Товарищи, помогите понять, что я упустил. Делаю все dроде как в статьях пишут, но возникает ошибка...

Ошибка при явном подключении DLL: "Попытка чтения или записи в защищенную память"
Здравствуйте! Имеется библиотека vports3.dll В документации к ней сказано следующее: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru