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

Как создать dll библиотеку - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 135, средняя оценка - 4.79
softrix
0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 48
03.06.2009, 22:51     Как создать dll библиотеку #1
Не могу разобраться как зоздать библиотеку ! Захожу в File->New project->Consol Application Win32-> Ставлю галочку DLL

Мне генерится такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
 
BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
А что дальше делать, как свою функцию сюда включить, не пойму чтото!

Может кто подскажет или ссылку на мануал понятный даст?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
03.06.2009, 23:29     Как создать dll библиотеку #2
Читай Мега-книгу: Джефри Рихтер "Windows для профессионалов: создание эффективных Win32 приложений"
softrix
0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 48
04.06.2009, 02:44  [ТС]     Как создать dll библиотеку #3
Чутка начитался вот склепал кое что, но не пашет что-то

При создании библиотеки VS создает несколько файлов в том числе myDll.h и myDll.cpp
В них я положил следующее

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//myDll.h
#pragma once
using namespace System;
 
 
        int GetA();
        int GetB();
 
//myDll.cpp
#include "stdafx.h"
#include "myDll.h"
 
int GetA(){
    return 1;
}
int GetB(){
    return 2;
}
Вызываю библиотку в исполняемом файле вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    HINSTANCE hModule=NULL;
    typedef  BOOL (WINAPI MESS)(UINT);
    MESS* me=NULL;
    hModule=::LoadLibrary("myDll3.dll");
    if (hModule!=NULL)
    {
        me=(MESS*)::GetProcAddress((HMODULE)hModule,"GetA()");
        if (me!=NULL)
        {
            UINT type=2;
            BOOL result;
            result=(*me)(type);
        }
 
        ::FreeLibrary(hModule); 
    }
Библиотека подгружается, а вот метод не находит, что не так я сделал ?
Шерсть-На-Носу
 Аватар для Шерсть-На-Носу
40 / 40 / 1
Регистрация: 30.01.2009
Сообщений: 168
07.06.2009, 12:22     Как создать dll библиотеку #4
Смотри сюда:

Создание DLL
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
12.11.2012, 01:21     Как создать dll библиотеку #5
Создаешь консольное приложение, ставишь галочку перед dll, далее ставишь галочку "пустой проект" и создаешь файлы в которых в свою очередь создаешь экспортируемые функции, я про
C++
1
__declspec(dllexport) //... тут прототип функции
Yandex
Объявления
12.11.2012, 01:21     Как создать dll библиотеку
Ответ Создать тему
Опции темы

Текущее время: 15:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru