Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: использование std::vector в keil ARM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
grau
Salute!

Открываем IDE, настраиваем startup, делаем простой код:


#include <vector>

int main()
{
typedef std::vector<int> Vec_t;
Vec_t Vec;
Vec.reserve(10);

while(1){};
};



после запуска симулятора оказываемся в:
SWI_Handler B SWI_Handler

В доках сказано, что нужно запретить semihosting и переопределить несколько библиотечных функций. Но как конкретно это сделать, в примерах, мне не попадалось. Может кто бросит проектом, где б все это было уже настроено..
d__
посмотри в проектах типа hello, там обязательно подключается retarget.c serial.c и т.п.
grau
Цитата(d__ @ Jan 15 2007, 12:07) *
посмотри в проектах типа hello, там обязательно подключается retarget.c serial.c и т.п.


более внимательное изучение примеров помогло.

Если интересно, удалось найти реализацию STL в исходниках, от того же самого HP. SGI называется. Только не успел пока разобраться, как прикручивать. И вообще не понятно: почему либы одного года от одной фирмы отличаются, и почему в комплекте компилятора нельзя было все полностью выложить..
grau
в догонку: почему-то не удается переопределить функцию _sys_open

пишет:
StorageSP.axf: Error: L6915E: Library reports error: __use_no_semihosting_swi was requested, but _sys_open was referenced

в файле <rt_sys.h> нашел объявление этой функции


typedef int FILEHANDLE;
/*
* Open a file. May return -1 if the file failed to open.
*/
extern FILEHANDLE _sys_open(const char * /*name*/, int /*openmode*/);
/*
* openmode is a bitmap, whose bits are given below. They
* correspond directly to the ANSI mode specification.
*/
#define OPEN_R 0
#define OPEN_W 4
#define OPEN_A 8
#define OPEN_B 1
#define OPEN_PLUS 2


в retarget добавил ей пустое определение

FILEHANDLE _sys_open(const char * name, int openmode){
return -1;
};


Эта вся беда возникает при попытке использовать boost\smart_ptr.hpp
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.