Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вызов функции через указатель
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
paskal
Пытался сделать сабж, работая с командной строки:
Код
void f()
{
}
void (*pf)() = &f;
int main()
{
  pf();
}

Компилирую. Ввожу с командной строки:
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -c main.cpp
- все ОК
Затем линкую:
arm-none-eabi-ld -Ttext=0x8000000 -Tdata=0x20000000 -o main.elf startup.o main.o
- сообщает
Цитата
undefined reference to '__aeabi_unwind_cpp_pr0'

Другие программы у меня таим способом нормально компилируются. Проблема только когда вызываю функцию через указатель. Что это значит? Как этого избежать?
Aaron
По первой же поисковой ссылке находится возможный ответ:
Цитата
Link order is very important. Objects and libraries that provide symbols must be linked after objects and libraries that require symbols.

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