User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 11 из 11

Тема: Помогите HRUST21.CPP превратить в DLL

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Объясняю ряд основных принципов.

    Компилированный c/cpp файл или их группа являются библиотекой функций.

    Библиотека функций может быть скомпонована в исполняемый файл (EXE) или в DLL. Различия между ними следующие:

    EXE-файл имеет одну стандартную точку запуска, с которой начинается исполнение после его загрузки в память. Как правило, это функция main() или WinMain().

    DLL-файл не имеет подобной точки запуска и поэтому не может исполняться как самостоятельная программа. Вместо этого он имеет одну или несколько экспортируемых функций.

    На усмотрение программиста, при компоновке DLL-файла из библиотеки c/cpp, часть функций может быть экспортирована. Они будут доступны для программ, использующих данный DLL-файл. Все остальные функции будут внутренними для DLL и невидимыми для программ, использующих DLL.

    Экспортировать функции можно двумя способами.
    1. Указать это как атрибут при декларации функции, например:
    void __declspec(dllexport) SomeFunction(int a);
    2. Создать def-файл, в котором перечислить экспортируемые функции, например:
    ; some_library.def : Declares the module parameters for the DLL.

    LIBRARY "SOME_LIBRARY"

    EXPORTS
    ; Explicit exports can go here
    SomeFunction
    OtherFunction

    -------------

    Помимо указанного выше, у каждого DLL-файла есть специальная точка входа - DllMain, которая вызывается всякий раз, когда какая-нибудь программа подгружает данную DLL или выгружает ее. Наличие функции DllMain в библиотеке необязательно, ее можно использовать в случае необходимости инициализации каких-то переменных внутри библиотеки.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Страница 2 из 2 ПерваяПервая 12

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 68
    Последнее: 10.11.2011, 14:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •