Рефераты | Рефераты по информатике, программированию | Реализация отложенной загрузки библиотек на С++ | страница реферата 6 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • В данном примере для каждого входного типа будет сгенерирован уникальный глобальный указатель типа FARPROC, фактически являющийся ячейкой глобальной в терминах единиц трансляций таблицы функций.

    Для того, чтобы определить интерфейс ячейки таблицы функций, выясним, от чего зависит импортируемая функция. Очевидно, это имя функции, модуль, из которого надо ее импортировать, и прокси, используемый для определения адреса функции в загружаемой библиотеке. В связи с этим определим класс CDynFunction, инкапсулирующий ячейку для хранения адреса функции в глобальной таблице импортируемых функций:

    template <class Module, class Name, class Proxy>

    class CDynFunction

    Учитывая все вышесказанное, реализация класса тривиальна и будет выглядеть так:

    template <class Module, class Name, class Proxy>

    class CDynFunction

    {

    public:

     typedef CDynFunction<Module, Name, Proxy> type;

     typedef Proxy proxy_type;

     typedef Module module_type;

     typedef Name name_type;

     

     static typename proxy_type::fun_type &GetProxy()

     {

     static typename proxy_type::fun_type proxy = proxy_type::template Proxy<type>::ProxyFun;


    Рекомендуем скачать другие рефераты по теме: реферат великая, рецензия на дипломную работу образец.



    Предыдущая страница реферата | 1  2  3  4  5  6  7  8  9  10  11 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •