Информация об изменениях

Сообщение Re[4]: Интерфейс плагина и его vtable от 14.10.2017 23:11

Изменено 14.10.2017 23:38 AlexGin

Re[4]: Интерфейс плагина и его vtable
Здравствуйте, c-smile, Вы писали:

CS>dynamic_cast будет работать a) если оба модуля скомпилированы с поддержкой rtti и б) если и plugin и твое приложение используют одну и ту же runtime библиотеку.

Насчёт поддержки RTTI я так понимаю, что опция /GR присутствует в спиcке опций компилятора MSVC по умолчанию (by default)?
Вот материалы по данной теме:
https://msdn.microsoft.com/en-us/library/we6hfdy0.aspx
https://technet.microsoft.com/en-us/library/b2ay8610(v=vs.100).aspx
https://support.smartbear.com/testcomplete/docs/app-testing/desktop/visual-c/preparing/visual-c-8.html
https://stackoverflow.com/questions/2635123/activate-rtti-in-c

CS>Что в случае exe/dll связки как правило не факт.

Насчёт Run-Time библиотеки — очевидно, что используем одну и ту же — как для головного приложения, так и для Plugin-а:
понятно, что и я и мои коллеги применяем одну и туже версию Qt; также как одну и ту же версию MSVC.

P.S. Здесь следует отметить, что как головное приложение, так и плагин создаётся в одном и том же филиале нашей компании,
даже если передаём на другой филиал, то с оговорками типа: какие библиотеки и компоненты (строго!) применяем.
Посему, если о общем случае совпадение здесь вроде как бы и НЕ очевидно, то в нашем проекте — оно просто ОБЯЗАНО БЫТЬ!
Re[4]: Интерфейс плагина и его vtable
Здравствуйте, c-smile, Вы писали:

CS>dynamic_cast будет работать a) если оба модуля скомпилированы с поддержкой rtti и б) если и plugin и твое приложение используют одну и ту же runtime библиотеку.

Насчёт поддержки RTTI я так понимаю, что опция /GR присутствует в спиcке опций компилятора MSVC по умолчанию (by default)?
Вот материалы по данной теме:
https://msdn.microsoft.com/en-us/library/we6hfdy0.aspx
https://technet.microsoft.com/en-us/library/b2ay8610(v=vs.100).aspx
https://support.smartbear.com/testcomplete/docs/app-testing/desktop/visual-c/preparing/visual-c-8.html
https://stackoverflow.com/questions/2635123/activate-rtti-in-c
Насчёт GCC и MinGW — вроде также подобная опция включена по умолчанию

CS>Что в случае exe/dll связки как правило не факт.

Насчёт Run-Time библиотеки — очевидно, что используем одну и ту же — как для головного приложения, так и для Plugin-а:
понятно, что и я и мои коллеги применяем одну и туже версию Qt; также как одну и ту же версию MSVC.

P.S. Здесь следует отметить, что как головное приложение, так и плагин создаётся в одном и том же филиале нашей компании,
даже если передаём на другой филиал, то с оговорками типа: какие библиотеки и компоненты (строго!) применяем.
Посему, если о общем случае совпадение здесь вроде как бы и НЕ очевидно, то в нашем проекте — оно просто ОБЯЗАНО БЫТЬ!