|
|
  |
с++ standard library |
|
|
|
Jan 10 2010, 13:04
|
Частый гость
 
Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501

|
Цитата(aaarrr @ Jan 10 2010, 17:59)  Для ARM существует не один тип компилятора, уточните. ага, забыл. at91sam7s256
|
|
|
|
|
Jan 10 2010, 13:15
|
Частый гость
 
Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501

|
Цитата(aaarrr @ Jan 10 2010, 18:09)  Компилятора. keil 3.8
|
|
|
|
|
Jan 10 2010, 18:17
|
Частый гость
 
Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501

|
вот проект. коментирую первую строчку - всё норм. с ней не грузится. magic %)
Прикрепленные файлы
spider.rar ( 117.38 килобайт )
Кол-во скачиваний: 22
|
|
|
|
|
Jan 10 2010, 18:38
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Для new нужен heap, а в стартапе у вас: Код Heap_Size EQU 0x00000000 Поставьте туда разумное число, и будет счастье.
|
|
|
|
|
Jan 10 2010, 18:50
|
Частый гость
 
Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501

|
Цитата(aaarrr @ Jan 10 2010, 23:38)  Для new нужен heap, а в стартапе у вас: Код Heap_Size EQU 0x00000000 Поставьте туда разумное число, и будет счастье. ух ты! пасиб. заработало  ))
|
|
|
|
|
Jan 11 2010, 02:25
|
Частый гость
 
Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501

|
ещё одна проблемка. тут точно проблема с экспортом. undefined symbol vtable и Undefined symbol typeinfo. по идее, у меня в коде нет динамического преобразования типов, есть только наследование и виртуальный полиморфизм, так что хотелось бы вообще отключить генерацию RTTI. не знаю, можно ли это сделать в keil, но, например, в Visual Studio прокатывает. т.е. таблица виртуальных функций генерируется, а информация о типах - нет. на сайте keil'a написана такая вещь: Use the command-line option --vfemode=force_no_rtti to make the linker VFE aware and force the removal of all RTTI objects. In this mode all virtual functions are retained. но мне это не нравится. по идее, виртуальные функции должны оставаться виртуальными, а тут написано иначе  ((
Сообщение отредактировал srm - Jan 11 2010, 02:43
|
|
|
|
|
Jan 11 2010, 03:50
|
Местный
  
Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699

|
Цитата(srm @ Jan 10 2010, 22:50)  ух ты! пасиб. заработало  )) Была такая же проблема на другой платформе (BF537, VisualDSP) Помогло в отладке следующее Код /////////////////////////////////////////////////////////////////////////////// // Hadler for NEW exceptions /////////////////////////////////////////////////////////////////////////////// void My_new_handler() {Halt("NEW exceptions\n\r");}
/////////////////////////////////////////////////////////////////////////////// void main() { set_new_handler(My_new_handler); Цитата(srm @ Jan 11 2010, 06:25)  на сайте keil'a написана такая вещь: Use the command-line option --vfemode=force_no_rtti to make the linker VFE aware and force the removal of all RTTI objects. In this mode all virtual functions are retained. но мне это не нравится. по идее, виртуальные функции должны оставаться виртуальными, а тут написано иначе  (( http://www.google.ru/language_tools?hl=ruВам в помощь
|
|
|
|
|
Jan 17 2010, 11:54
|
Частый гость
 
Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501

|
Цитата(sergeeff @ Jan 16 2010, 23:59)  RTTI никакого отношения к виртуальным функциям не имеет и нужна, действительно, чтобы заработало typeinfo и безопасный <dynamic_cast>. Учитывая, что к тому же RTTI сильно притормаживает программу, то его лучше избегать, тем более, что в emdedded мире и без этого чуда вполне можно обойтись. ну, именно за этим я и хочу его отключить, только не знаю как. Цитата CTimerEvents вы сами писали, или это из библиотеки без исходников? я написал класс CTimer, он реализован по архитектуре MVC - генерирует эвенты на интерфейс CTimerEvets. как только создал виртуальные методы - кеил тут же начал требовать typeinfo и vtable. понятно, что они нафиг не нужны, если не юзаешь динамическое преобразование типов.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|