проблемы с keil

Тема в разделе "LANGS.C", создана пользователем cupuyc, 15 янв 2010.

  1. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    никак не могу отключить RTTI или как-то настроить его. вроде, гугл полон инфой, но что-то до меня не доходит.
    вообще, динамическое преобразование типов и пр. мне не нужно - так что лучше было бы отключить, но отключение link time code generation приводит к unresolved external vtable. если же ключить галочку link time code generation - вылазит error: L6236E: No section matches selector - no section to be FIRST/LAST.
     
  2. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    такой ещё вопросик. как-то непонятно keil обрабатывает директиву inline.

    в хидере описываю:
    Код (Text):
    1. class Cx
    2. {
    3. public:
    4.  inline void m1();
    5. };
    затем в cpp'шнике реализую
    Код (Text):
    1. inline void Cx::m1()
    2. {
    3.  // ..
    4. }
    выдаёт error: #114: function "Cх::m1" was referenced but not defined
    если же тело функции написать в хидере - всё норм. в Visual Studio, вроде, прокатывает. вообще, компилятор должен поддерживать реализацию инлайновых функций в спп'шниках?
     
  3. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Вообще нет.
    inline функция видна только в своей единице трансляции, как static.
    Так что inline все реализовывать надо в заголовочных файлах.
    Есть вроди inline с external linkage, но она на самом деле не будет inline (встраиваться не будет).
     
  4. djmans

    djmans New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    312
    Вот пример RTTI заглушки для vcpp, Вам, наверное, нужно ее немного подправить...
    Код (Text):
    1. class type_info
    2. {
    3. public:
    4.         virtual __thiscall ~type_info(){}
    5.  
    6. private:
    7.         __thiscall type_info(_In_ const type_info& _Rhs);
    8. };
    9.  
    10. type_info::type_info(const type_info& rhs){};