crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Запаковка в dll шаблонных классов
niXman
  опции профиля:
сообщение 4.10.2009, 16:57
Сообщение #21


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Проведу эксперимент. Отпишусь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 4.10.2009, 17:34
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(niXman @ 4.10.2009, 17:57) Link
Проведу эксперимент. Отпишусь.


tree.h
template<class T>
class Tree
{
    ...
};


objectstree.h
#include <tree.h>

class MYMATHSHARED_EXPORT ObjectsTree : public Tree<QObject*>
{
};

Это декларация нового типа (класса), код для него генерироваться не будет.
Для его использования компилятору потребуется сам файл objectstree.h и файл с описание шаблона tree.h, который включается в objectstree.h
А весь код будет разворачиваться в пользовательских файлах, где будет использоваться (создаваться) объект класса ObjectsTree.

А вот если в класс ObjectsTree добавить методы, например appendObject(), removeObject(), тогда эти методы попадут в библиотеку и будут экспортированы. Также там развернутся все необходимые методы шаблона Tree, если будут использоваться.

Сообщение отредактировал BRE - 4.10.2009, 18:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 4.10.2009, 21:26
Сообщение #23


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Спасибо за подробный и наглядный ликбез)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.12.2025, 12:19