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

Создание DLL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ dynamic_cast в иерархии http://www.cyberforum.ru/cpp/thread22003.html
class A { .... }; class B : public A { public: A a1; A a2;
C++ Помогите сделать ActiveX компонент Таймера на микросекунду из готовых исходников ... в ветке http://www.cyberforum.ru/cpp-beginners/thread20934.html?highlight=%F2%E0%E9%EC%E5%F0 обсуждался вопрос программирования таймера на 1 МИКРО!секунду. Ensase предложил свой вариант - http://www.cyberforum.ru/attachment.php?attachmentid=1803&d=1232008671 , за что ему большое спасибо. Вот только я начинающий и к тому же на VB... Так что может кто-нить поможет создать и выложить здесь... http://www.cyberforum.ru/cpp/thread21910.html
C++ Определители матрицы найти компактным методом исключения (метод крамера)
определители матрицы нужно найти компактным методом исключения (это как?). Коэффициенты представленны структурой компклесного числа в символьной форме. помогите решить!! И чем символьная фрма отличается от алгебраической?
Возможность Borland C++ 5.02 C++
Можно ли создать хорошою программу на Borland C++ 5.02 :help:
C++ Правильно ли реализованы операторы (в смысле логики)? http://www.cyberforum.ru/cpp/thread21540.html
mik-a-el, Отписался на форуме-теперь ответь пожалуйста)) bool operator == (complex &c) { if (re==c.re && im==c.im) return 1; return 0; }
C++ Как перегрузить функцию xcout? У меня уже мозги не варят... Пожалуйста подскажите как перегрузить функцию xcout что бы в качетве аргумента она получала указалеть на символьную строку.. точнее создать пеергруженную функцию xcout, получающую в качестве аргумента символьную строку и возращаюшую целое значение... как я понимаю надо перегрузить << для этого я написал что-то типа: #include <iostream> #include <string.h>... подробнее

Показать сообщение отдельно
Шерсть-На-Носу
40 / 40 / 1
Регистрация: 30.01.2009
Сообщений: 168
02.02.2009, 11:29     Создание DLL
На Dev-C++ никогда не работал, покажу, как ЭТО делается в MSVS.



dll.cpp - файл нашей dll-ки
C++
1
2
3
4
5
6
7
8
9
10
// Компилировать командой cl.exe dll.cpp /LD
 
#include <iostream.h>
 
#pragma comment(linker, "/def:DLL.def") // Указание линкеру добавить список экспорта
 
extern "C" __declspec(dllexport) void __stdcall MyFunction(void)
{
    cout << "Hi from DLL!" << endl;
}
dll.def - здесь список экспортируемых функций
C++
1
2
EXPORTS
    MyFunction
TestDll.cpp - тестовая программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Компилировать командой cl.exe TestDll.cpp
 
#include <iostream.h>
#include <windows.h>
 
typedef void (__stdcall *MYPROC)(void);
 
int main(void)
{
    cout << "Load Dll..." << endl;
 
    HMODULE hLib = LoadLibrary("DLL.dll"); // Загружаем библиотеку
    if (hLib)
    {
        cout << "Library load." << endl;
 
        MYPROC MyFunction = (MYPROC)GetProcAddress(hLib, "MyFunction"); // Загружаем функцию
        if (MyFunction) 
        {
            cout << "Function load." << endl;
 
            MyFunction(); // Вызов функции из dll!!!
        }
    }
 
    return 0;
}
Осталось только запустить TestDll.exe.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru