Вопрос такой, если библиотека содержит скажем 200 методов а интерфейс представляет только 10
то как использование интерфейса отразится на размере бинарного файла, туда залинкуются все 200 методов или только 10 или только те которые я использую?
Для чистоты эксперимента будем считать что методы в библиотеке никак не вызывают друг друга и не связаны.
Спасибо.
-------------------------------------------------------------------
Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)
Здравствуйте Gambler, вы писали:
G>Господа, делаю библиотеку, для разработчика предоставляю интерфейс, например так
G>class CMyInterfsClass G>{ G> class CMyStorageClass; G> CMyStorageClass *m_pThis;
G> CMyInterfsClass():m_pThis( new CMyStorageClass() ) G> {}
G> virtual ~CMyInterfsClass() G> { m_pThis ? delete m_pThis; }
G> //Методы......... G> inline void Method1() G> { m_pThis->Method1(); }
G> и т.д., но не обязательно inline
G>}
G>Вопрос такой, если библиотека содержит скажем 200 методов а интерфейс представляет только 10 G>то как использование интерфейса отразится на размере бинарного файла, туда залинкуются все 200 методов или только 10 или только те которые я использую?
Если методы не виртуальные, то только те, которые используются. Если есть виртуальные методы, то все они будут прилинкованы вне зависимости, используются они или нет.
Здравствуйте Alex Fedotov, вы писали:
AF>Если методы не виртуальные, то только те, которые используются. Если есть виртуальные методы, то все они будут прилинкованы вне зависимости, используются они или нет.
Спасибо!
-------------------------------------------------------------------
Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)