Добрый день (вечер/ночь/утро)!
Пишу на С++.
Проблема первая: Если обьект, определенного мной типа, расположить вне main (т.е. он будет глобальным), компоновщик генерирует странный elf файл. Странность его в том, что утилита arm-elf-objcopy делает из него бинарный файл размером 1ГБ (~1КБ эффективного кода + куча нулей).
Проблема вторая: Имеется такой код
int main(void)
{
CHIP Chip;
SINGLE_PORT X13_20;
// X13_20.Init(0, OUTPUT, PULL_UP);
// X13_20.NewConnect(&Chip, P0, 4);
/*.........................*/
}
Если раскоментировать методы обьекта X13_20, компоновщик arm-elf-ld вываливает следующие сообщения:
main.cpp:46: undefined reference to `_Unwind_SjLj_Register'
main.cpp:67: undefined reference to `_Unwind_SjLj_Resume'
main.cpp:67: undefined reference to `__gxx_personality_sj0'
строки 46 и 67 соответственно начало и конец main
Подскажите, чтобы это могло означать
Заранее благодарен
Косяк видимо связан с явными деструкторами (см.
http://electronix.ru/forum/index.php?showtopic=49880)