Невозможно использовать встроенные функции GCC на Cortex-A9
Для встроенного проекта (голый металл) мне нужно использовать функции memc**. Хотя я не отключаю встроенные функции, я всегда получаю ошибку компоновщика; например:
неопределенная ссылка на `memcmp'
не важно, использую ли я: memcmp или __builtin_memcmp!
Я что-то пропустил, чтобы включить встроенные функции?
Мои параметры компиляции: -g -Wall -mcpu=cortex-a9
1 ответ
__builtin
это немного лжи. При желании он будет использовать встроенную реализацию, если она существует. В противном случае он вызовет библиотечные функции. Вам нужно будет предоставить реализации этих функций, либо в вашем собственном коде, либо в библиотеке Си. Обратите внимание, что "библиотека C" не означает полноценную ОС libc, существует множество чистых библиотек C, которые не включают в себя функции, зависящие от ОС.