Перейти к содержанию
    

У меня IAR EW AVR 4.11A евалуэйшн версия.

В списке языков доступен лишь C. Возможно ли как-то задействовать и Embedded C++?

В настройках проекта General Options/Library Configurations/Library следует выбрать Normal DLIB или Full DLIB.

Спасибо за подсказку, так открылся доступ к C++.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за подсказку, так открылся доступ к C++.

я тоже посчитал что открылся пока не скомпилил простейшую прогу-куча ошибок. пришлось с иара ССР качать (55метров)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я тоже посчитал что открылся пока не скомпилил простейшую прогу-куча ошибок. пришлось с иара ССР качать (55метров)

У меня заработало без установки CCP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня заработало без установки CCP.

Заработать то оно заработало, но насколько корректно.

ИАРовцы сообщали о критической ошибке в библиотеках, которая состоит в том, что если применяются операции с типом float, то иногда может сброситься флаг разрешения прерываний.

Кроме того в изначальной поставке отсутствуют некоторые (и довольно многие) библиотеки.

Так что на мой взгляд лучше закачать. Затраты на закачку того стОят.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага: а под версию 3.20D есть такая заплатка ?

а то у меня тоже C++ компилятор абсолютно не работоспособен -

простейшее объявление класса ещё может скомипилять, а стоит подключить какой-нить стандартный заголовок - тут же куча ошибок.

На iar.com ни хрена про ето не нашёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага: а под версию 3.20D есть такая заплатка ?

а то у меня тоже C++ компилятор абсолютно не работоспособен -

простейшее объявление класса ещё может скомипилять, а стоит подключить какой-нить стандартный заголовок - тут же куча ошибок.

На iar.com ни хрена про ето не нашёл.

Странно, когда у меня была эта версия, я ни в чём подобном не нуждался.

Хотя проекты были и сложными и большими.

Видимо что-то в Вашем коде не так. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

че не так ?

 

// main.cpp:

#include <complex>

 

int main (void)

{

return 0;

}

 

всё, курим бамбук .....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

че не так ?

 

// main.cpp:

#include <complex>

 

int main (void)

{

return 0;

}

 

всё, курим бамбук .....

В чем проблема-то? Если не компилится, то проверь С++ включен или нет, если не включен, то смотри выше как включить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В чем проблема-то? Если не компилится, то проверь С++ включен или нет, если не включен, то смотри выше как включить...

 

Кгммммм.... Я вообще-то внимательно читаю посты, прежде чем задать такой идиотский вопрос.

"Смотри как включить" не включает - вот в том и проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кгммммм.... Я вообще-то внимательно читаю посты, прежде чем задать такой идиотский вопрос.

"Смотри как включить" не включает - вот в том и проблема.

 

Посты - это хорошо, но документацию изучать всё-таки нужно.

RTFM: AVR C/C++ Compiler Reference Guide, стр. 11 "Runtime Environment", абзац про CLIB и DLIB;

AVR Embedded Workench User Guide, стр. 53 "Creating a C++ application".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кгммммм.... Я вообще-то внимательно читаю посты, прежде чем задать такой идиотский вопрос.

"Смотри как включить" не включает - вот в том и проблема.

Вопросы нужно задавать корректно, т.е как можно подробнее описать проблему, а у вас из описания только

всё, курим бамбук .....

и присоединяюсь к vet

прежде чем задать такой идиотский вопрос
не мешало бы изучить мат. часть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема ещё раз :

 

#include <complex>

 

int main (void)

{

return 0;

}

/* EOF*/

 

при компиляции получаю сообщения о 25 ошибках в заголовке <complex>

(см. прикреплённый error.txt)

 

и ещё, прошу подтвердить или опровергнуть такое предположение, возникшее после

изучения документации:

 

В IAR поддерживается сильно покоцаный C++, который назван EC++.

 

И всё равно, как бы там ни было, стандартный заголовок должен компилятся хоть как,

раз он входит в комплект поставки.

error.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при компиляции получаю сообщения о 25 ошибках в заголовке <complex>

В версии 4.11 все компилится без проблем. Версии 3.20 под рукой не оказалось, разыскал древнюю 2.26, там действительно появляются ошибки: ...Error[Pe040]..., но если в настройках компилятора установить режим "Use 64-bit dоubles", то все начинает работать. Попробуйте тоже самое сделать в вашей 3.20, может поможет...

В IAR поддерживается сильно покоцаный C++, который назван EC++.

Насчет сильно покоцанный: все на свете относительно... EC++ - это, как я понял, embedded C++ и ИМХО главное его отличие от ANSI С++ это наличие расширений(добавлений) связанных со спецификой ядра AVR...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

forever failure

IAR 4.10B. Создал С++ проект, вставил исходник. Скомпилировалось сразу же, без всякого шаманства, без ошибок и предупреждений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с 64 bit double помогло. Однако Большой Бубен, однако, что не говори.

 

EC++ - это, как я понял, embedded C++ и ИМХО главное его отличие от ANSI С++ это наличие расширений(добавлений) связанных со спецификой ядра AVR...

IMHO, не менее главное отличие ещё и отсутствие почти всех основных средств, предоставляемых C++.

"Спору нет вещица забавная, цены немалой", однако вобще зачем понадобилось исключать

из него например namespaces или templates непонятно.

С таким компилятором на C++ че-то делать особого смысла нет, ну разве что использовать inline и

объявление переменной в любом месте, где допустим оператор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...