MSVC6 private virtual в exports table
От: Мишень-сан  
Дата: 27.01.11 09:26
Оценка:
Cобственно сабж.

Подскажите, пожалуйста, как бороться.
win32 dll export table msvc6
Re: А поподробнее? (-)
От: Аноним  
Дата: 27.01.11 09:41
Оценка:
Re[2]: А поподробнее? (-)
От: Мишень-сан  
Дата: 27.01.11 10:11
Оценка:
Подробнее.

Было:

declspec(dllexport) class A
{
public:
  void DoA();
  void DoB();
};


Стало:

declspec(dllexport) class A
{
public:
  void DoA();
  void DoB();
private:
  virtual int CustomizeDoB();
};


Скомпилен в A.dll
A.dll используется в B.dll и C.dll
В B.dll метод CustomizeDoB перегружается, в C.dll — нет.
При изменении C.dll она пересобирается уже с новой A.dll и получает CustomizeDoB в свою таблицу импорта, а этого нужно избежать.
Re[3]: А поподробнее? (-)
От: Мишень-сан  
Дата: 27.01.11 11:41
Оценка:
Всё, вопрос отпал. Всем спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.