Как создать vftable вручную?

Тема в разделе "WASM.WIN32", создана пользователем Quark, 5 дек 2008.

  1. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    я создаю COM объекты. для их работы необходимо создавать таблицу виртуальных функций. подключить стандартные либы, типа libcmt.lib msvcrt.lib я не могу. можно ли как-то самостоятельно описать/создать vftable, чтобы линкер всё собрал как нужно?
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Quark
    http://www.wasm.ru/article.php?article=1015002
     
  3. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Quark
    Если один скинет сюда исходник, который не линкуется без libc, то мы, вероятно, сможем подсказать, как его можно починить.
     
  4. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    Так а какой тут исходник? Есть 2 класса. Один виртуальный. Другой наследуется от него. Что-нибудь типа этого. Ну, плюс в настройках линкера поставить nodefaultlib.

    Код (Text):
    1. class VA
    2. {
    3.  public:
    4.  virtual int f1() = 0;
    5.  virtual int f2() = 0;
    6. };
    7.  
    8. class A : public VA
    9. {
    10.  virtual int f1() { __asm nop; }
    11.  virtual int f2() { __asm nop; __asm nop; }
    12. };
     
  5. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    в линковке msvcrt.lib нет ничего плохого, msvcrt.dll есть во всех виндах. взять её можно из msvc6.
     
  6. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Один должен всего лишь отключить Run-Time Type Info [/GR-].