Как GCC интерпретирует определение ferror?

Я работаю с некоторым встроенным кодом C для ЖК-дисплея, в котором один из файлов включаетstdio.hи определяет,fgetc, и .fputcвызывает код драйвера ЖК-дисплея для вывода символа на экран, но два других на самом деле не делают ничего интересного.

Всякий раз, когда я пытаюсь скомпилировать проект, я получаю следующую ошибку:

src/ST7735.c:1578:5: ошибка: ожидаемый идентификатор или '(' перед 'int'1578 | int ferror(FILE *f){

src/ST7735.c:1578:5: ошибка: ожидается ')' перед токеном '(' 1578 | intferror(FILE *f){

Ошибка исчезает, если я переименую что-нибудь еще. Две другие функции не создают никаких проблем. Я также обнаружил, что если я переименую функцию, но вызову ее в другом месте кода, проект все равно скомпилируется, тогда как я ожидал, что связывание завершится ошибкой без определения где-либо еще в проекте.

Я использую набор инструментов arm-none-eabi с-nostdlibфлаг, но изначально проект создавался с помощью Keil. Я не уверен, является ли это частью объяснения. Я искал в Google любую соответствующую информацию, но ничего не нашел. Есть ли что-то особенное вferrorв ГСК?

0 ответов

Другие вопросы по тегам