Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запуск из .exe на C++, .dll на Fortran, Error: The value of ESP was not prope... 
:(
    Опции темы
M_A_Y_
Дата 29.10.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 30.5.2007

Репутация: нет
Всего: нет



Всем добрый вечер. Возникла проблема при запуске  функции из .dll написанной на Fortran-е из С++. Выкидывает ошибку:
Цитата
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling convention with
a function pointer declared with a different calling convention.


Fortran-овская .dll выглядит так:
Цитата
C $NOFLOATCALLS
C $NODEBUG
C ...................................................................
      subroutine SHAKEDLL(RINP)
C    !DEC$ ATTRIBUTES DLLEXPORT :: SHAKEDLL 
    !MS$ATTRIBUTES DLLEXPORT :: SHAKEDLL
    REAL, TARGET RINP
C ...................................................................
      RINP=0
      END SUBROUTINE
C********************************************************************


Вызов из С++:
Код

float x=12.0;
    typedef void (*SQRTPROC)(float*);
    SQRTPROC pFunction;
    
    HINSTANCE hInstanceDLL;    
    hInstanceDLL = LoadLibrary("D:\\dllpath\\shakeDLL.dll");
    pFunction = (SQRTPROC)::GetProcAddress((HMODULE) hInstanceDLL,"SHAKEDLL");
    (pFunction)(&x);
    FreeLibrary(hInstanceDLL); 

PM MAIL   Вверх
JackYF
Дата 29.10.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Цитата(M_A_Y_ @  29.10.2007,  19:46 Найти цитируемый пост)
typedef void (*SQRTPROC)(float*);

а хз, что там в Фортране за конвенция... пробуй

typedef void (__сdecl *SQRTPROC)(float*);
typedef void (__stdcall *SQRTPROC)(float*);


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0382 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.