The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Экспорт функций-членов класса., !*! beepper, 09-Янв-04, 01:36  [смотреть все]
Каким образом можно экспортировать из динамической библиотеки функции некоторого класса?
  • Экспорт функций-членов класса., !*! genie, 05:00 , 09-Янв-04 (1)
    IMHO - nikak, esli ne schitat' ekzoticheskih tancev s bubnami v vide static funkcii i vsyacheskih izvraschenii s adresami funkcii - pervym (invisible) argumentom funkcii vsegda idet adres ob'ekta plus kucha problem s mangling. Ekportirui fabriki klassov ili funkcii, pozvolyauschie poluchit' dostup k ob'ektam.

    >Каким образом можно экспортировать из динамической библиотеки функции некоторого класса?

    • Экспорт функций-членов класса., !*! beepper, 01:45 , 10-Янв-04 (2)
      >IMHO - nikak, esli ne schitat' ekzoticheskih tancev s bubnami v vide
      >static funkcii i vsyacheskih izvraschenii s adresami funkcii - pervym (invisible)
      >argumentom funkcii vsegda idet adres ob'ekta plus kucha problem s mangling.
      >Ekportirui fabriki klassov ili funkcii, pozvolyauschie poluchit' dostup k ob'ektam.

      А можно поподробней про экспорт фабрик классов?


      • Экспорт функций-членов класса., !*! asso, 05:57 , 11-Янв-04 (3)
        >А можно поподробней про экспорт фабрик классов?

        Я их делаю как обычные функции которые делают new нужному классу.  Такой подход отлично работает в динамически подгружаемых библиотеках.

        • Экспорт функций-членов класса., !*! genie, 07:24 , 11-Янв-04 (4)
          Absolutno verno:

          class A
          {
          //Some abstract class
          ......
          };

          class B:public A
          {
          //Implementation of A - private in DLL
          };

          //exported DLL function:
          A *give_me_A()
          {
             return new B;
          }

          Est' odno "no": memory allocation proizvodimoe v DLL/shared objects, a osvobozhdaemoe v osnovnom module...


          >>А можно поподробней про экспорт фабрик классов?
          >
          >Я их делаю как обычные функции которые делают new нужному классу.  
          >Такой подход отлично работает в динамически подгружаемых библиотеках.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру