Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2018, 20:20   #1
Gekas4488
Новичок
Джуниор
 
Регистрация: 18.12.2017
Сообщений: 1
По умолчанию Экспорт шаблонов из DLL

Здравствуйте! У меня есть несколько DLL (Visual Studio). Одна - базовая, остальные - зависящие от неё. Всё это дело находится в области памяти программы. Вообщем, в базовой DLL объявляется следующий класс с шаблоном:
Код:
	template <class C, class B>
	class CoreClass
	{
	public:
		static void MyFunction();
	};
Функция инициализируется в .inl файле:
Код:
	template<class C, class B>
	void CoreClass<C, B>::MyFunction()
	{
		C* c= new C();
		B* b = new B();
		std::vector<uintptr_t> mVector;
		std::map<std::string, uintptr_t> mMap;
		...
	}
В итоге получается удобно вызывать эту функцию, просто сделав следующее:
Код:
	CoreClass<MyClass1, MyClass2>::MyFunction();
	//(MyClass1 и MyClass2) - классы, определённые в CoreDLL | дочерних DLL
НО всё так хорошо лишь в CoreDLL, если вызвать подобную функцию из зависимых DLL, то ошибки о неразрешённом внешнем символе идут одна за другой. Определять все возможные случаи возможности не представляется, т.к. передаваться могут как классы из Core DLL, так и созданные в дочерних DLL'ках. Без оператора new и STL контейнеров всё работает, но без всего этого реализовать задачу как минимум очень долго и костыльно. Может быть есть что-то альтернативное?
Gekas4488 вне форума Ответить с цитированием
Старый 02.02.2018, 21:57   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Делать без шаблонов.

Шаблоны разворачиваются во время компиляции DLL, поэтому в это время должна быть доступна вся информация о параметрах шаблона.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DLL экспорт sexsex Общие вопросы Delphi 6 25.02.2012 12:14
Экспорт из *.dll BingoBongo Общие вопросы Delphi 8 09.05.2011 13:28
Экспорт классов в DLL _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 16 17.11.2010 21:25
экспорт в dll varelik Общие вопросы Delphi 3 13.01.2010 11:30
экспорт классов из Dll Alar Общие вопросы Delphi 0 29.10.2006 21:53