реклама на сайте
подробности

 
 
> оператор new
RRaptor
сообщение Aug 3 2006, 09:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-08-06
Из: Санкт-Петербург
Пользователь №: 19 279



При разработке программы для LP2136 использую CrossStudio 1.4. Почему то его линкер отказывается понимать оператор new например на строку
int* i=new int[10];
он пишет
C:/Program Files/Rowley Associates Limited/CrossWorks for ARM 1.4/lib/libcpp_v4t_a_i_le.a(new.o)(.text+0x4c): In function `operator new(unsigned long)':: undefined reference to `abort'
хотя компилируется нормально и на delete линкер не ругается. Можно конечно обойтись и без new, но хотелось бы понять что к чему.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Aug 3 2006, 10:13
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(RRaptor @ Aug 3 2006, 16:28) *
При разработке программы для LP2136 использую CrossStudio 1.4. Почему то его линкер отказывается понимать оператор new например на строку
int* i=new int[10];
он пишет
C:/Program Files/Rowley Associates Limited/CrossWorks for ARM 1.4/lib/libcpp_v4t_a_i_le.a(new.o)(.text+0x4c): In function `operator new(unsigned long)':: undefined reference to `abort'
хотя компилируется нормально и на delete линкер не ругается. Можно конечно обойтись и без new, но хотелось бы понять что к чему.

Не находит в библиотеке указанную функцию. Может, библиотеку какую-нито забыли подключить?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 3 2006, 14:14
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(dxp @ Aug 3 2006, 13:13) *
Цитата(RRaptor @ Aug 3 2006, 16:28) *

При разработке программы для LP2136 использую CrossStudio 1.4. Почему то его линкер отказывается понимать оператор new например на строку
int* i=new int[10];
он пишет
C:/Program Files/Rowley Associates Limited/CrossWorks for ARM 1.4/lib/libcpp_v4t_a_i_le.a(new.o)(.text+0x4c): In function `operator new(unsigned long)':: undefined reference to `abort'
хотя компилируется нормально и на delete линкер не ругается. Можно конечно обойтись и без new, но хотелось бы понять что к чему.

Не находит в библиотеке указанную функцию. Может, библиотеку какую-нито забыли подключить?

Скорее требуется написать самописную функцию обработки ошибки выделения памати с именем abort.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016