Форум программистов, компьютерный форум CyberForum.ru

Экспорт класса DLL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить размер больших файлов http://www.cyberforum.ru/cpp-beginners/thread1243630.html
Добрый день. Пользовался: filelength(fileno(file)); Всё работает, пока файл меньше 4 ГБ, что понятно - возвращает 32-битное значение, если же файл больше, то возвращает максимальное 32-битное число = 4294967295. Как получить 64-битное значение размера файла? Добавлено через 51 секунду ОСЬ 32-х битная...
C++ Как можно представить себе поток? Как можно представить себе потоки в С++? В книге конечно разъясняют, но ориентируются видимо не на таких гуманитариев, как я. Возникают вопросы по поводу: где этот поток вообще находится? Почему одни пишут, что он уже предопределен в операционной системе, а книга говорит, что поток - это классовый объект, но класс, он ведь создается не в операционной системе? Как визуализировать себе эту... http://www.cyberforum.ru/cpp-beginners/thread1243598.html
C++ Чтение структуры из бинарного файла
#include <iostream> #include <fstream> #include <string> using namespace std; int main(void) { setlocale (0,""); struct TBook
C++ С чего начать постигать программирование в 12 лет?
Мне 12 лет хочу изучить программирование . С чего начать ?
C++ Какие "фишки" помимо \a,\n есть в cout http://www.cyberforum.ru/cpp-beginners/thread1243547.html
Здравствуйте! Подскажите, пожалуйста, какие ещё есть "фишки" в cout, например: \a - это однократный звук, \n - это переход на новую строку А какие есть ещё?
C++ Программа для определения угла между векторами Я нашел такую программу внизу, немного исправил ее, но не знаю, что watch означает и зачем он вообще и все ли тут правильно. Мне нужно определить угол между векторами тот, что меньше. (Больше он 90 град или нет) void cross( CPlace *a, CPlace *b, CPlace *c) { c->x=+a->y*b->z - b->y*a->z; подробнее

Показать сообщение отдельно
Brendon
Заблокирован
17.08.2014, 16:00     Экспорт класса DLL
Привет
Есть DLL:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
 
class DLL_API CDll {
public:
    CDll(void);
    int XXX();
};
 
extern "C" DLL_API CDll* GetPointer();

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "Dll.h"
 
DLL_API CDll* GetPointer()
{
    return new CDll();
}
 
CDll::CDll()
{   
}
 
int CDll::XXX()
{
    return 777;
}

В коде пытаюсь использовать функции экспортируемого из DLL класса:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include "../Dll/Dll.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    HMODULE hModul = LoadLibrary(L"Dll.dll");
    if (hModul)
    {
        typedef CDll* (WINAPI *GetPointer)(void);
        GetPointer pointer = (GetPointer)GetProcAddress(hModul, "fnDll");
        CDll *dll = pointer();
        int x = dll->XXX();     
    }
 
    return 0;
}

но компилятор не даёт это сделать и пишет:
error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall CDll::XXX(void)" (__imp_?XXX@CDll@@QAEHXZ) referenced in function _wmain

В чём фикус - то?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru