Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вызов функции из dll

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

StillPhelix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток! Программа должна загрузить  две dll и вызвать функцию demo. Но вызов функции demo программа перескакивает. В качестве среды использовался visual studio 2010. Dll-ка и вызывающая её программа собирались в разных проектах. Проект для  dll был создан на основе стандартоного шаблона, предложенного мастером.
 
Исходник вызова dll:
#include<Windows.h>
int main()
{
    void (*demo)(int a);
    HMODULE h;
    if ((h=LoadLibrary("fixupdemo.dll"))&&((h=LoadLibrary("fixupdemo2.dll"))&&(demo=(void(*)(int a))GetProcAddress(h,"meme"))))
        demo(0x777);
}
 
Исходник dll (fixupdemo.dll, fixupdemo2.dll):
#include "stdafx.h"
#include "fixupdemo.h"
#include <stdexcept>
 
using namespace std;
 
namespace fixupdemo
{
    void fixupdemo::meme(int x)
    {
        int a=0x666;
        x=a;
    }
}
 
Заголовочный файл для fixupdemo.dll
#ifdef FIXUPDEMO2_EXPORTS
#define FIXUPDEMO_API __declspec(dllexport)  
#else
#define FIXUPDEMO_API __declspec(dllimport)  
#endif
 
namespace fixupdemo
{
    class fixupdemo
    {
    public:  
        static FIXUPDEMO_API void meme(int x);  
    };
}

Всего записей: 173 | Зарегистр. 18-08-2013 | Отправлено: 09:59 19-05-2015
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уже было- C++ декорирует експортируемые функции.

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 11:59 19-05-2015
StillPhelix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за подсказку, ne_viens. Всё исправил, библиотеку программа увидела, нормально зашла и вышла. Тему можно закрыть.

Всего записей: 173 | Зарегистр. 18-08-2013 | Отправлено: 13:19 19-05-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вызов функции из dll


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru