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

Перешёл с Cube на Keil, начал новый проект. Функция main

#include "stm32f4xx.h"

// 
int main(void)
{
	while (1)
	{
	}
}

Получаю предупреждение

Quote

creating preprocessor file for main.c...
main.c(3): warning: // comments are not allowed in this language [-Wcomment]
// 
^
1 warning generated.

Это о чём комментарий, какой язык под запретом? Или это о чем то дугом?

Кстати, если я включу в проект ещё разных кейловских исходников, то и там такие же предупреждения вылятся, например

Quote

RTE/CMSIS/RTX_Conf_CM.c(26): warning: In file included from...
C:/Users/Oleg/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/RTOS/RTX/INC\cmsis_os.h(48): warning: // comments are not allowed in this language [-Wcomment]
#define osCMSIS           0x10002U     ///< CMSIS-RTOS API version (main [31:16] .sub [15:0])
                                       ^
RTE/CMSIS/RTX_Conf_CM.c(33): warning: // comments are not allowed in this language [-Wcomment]
//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
^

 

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


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

Потому что где-то в опциях стоит ключ ANSI C, в котором нельзя комментировать двойным слэшем //.

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


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

Перезаписал файл main.c в кодировку UTF-8, в Edit->Configuration поле Encoding: выставил Encode in UTF-8... Ситуация не изменилась.

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


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

1 hour ago, Oleg_IT said:

Перезаписал файл main.c в кодировку UTF-8,

ANSI C это не кодировка файла, а стандарт языка. Коментарии в виде // пришли в С из С++ где то в районе С99.

 

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


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

22 часа назад, Oleg_IT сказал:

Перезаписал файл main.c в кодировку UTF-8, в Edit->Configuration поле Encoding: выставил Encode in UTF-8... Ситуация не изменилась.

Создайте в Keil проект без использования Cube. В опциях проекта разрешите формирование листинга.

В листинге в первых строках перечислены ключи-опции запуска компилятора.

; generated by Component: ARM Compiler 5.06 update 5 (build 528) Tool: ArmCC [4d3621]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\flash\blinky.o --asm_dir=.\Flash\ --list_dir=.\Flash\ --depend=.\flash\blinky.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931 -I.\RTE\Device\STM32F103RB -I.\RTE\_STM32F103_Flash -IC:\Keil_v5ARM\ARM\PACK\ARM\CMSIS\5.0.1\CMSIS\Include -IC:\Keil_v5ARM\ARM\PACK\Keil\MDK-Middleware\7.4.1\Board -IC:\Keil_v5ARM\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__MICROLIB -D__UVISION_VERSION=524 -D_RTE_ -DSTM32F10X_MD --omf_browse=.\flash\blinky.crf Blinky.c]
                          THUMB
  . . . . . 

Проделайте аналогично с Вашим warn-проектом и сравните опции.

Возможно причина в том, что Cube "пользует" строки комментариев для своих целей и ограничивает в этом пользователя.

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


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

Сейчас в проекте на Keil Cube не использую.

В других компиляторах такого не встречал, VS, mingw, тот же CubeIDE, для всех комментарий в дух вариантах.

Кстати, до перехода с Keil на CubeIDE тоже такого де было, вообще не задумывался про ANSI 

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


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

43 minutes ago, Oleg_IT said:

В других компиляторах такого не встречал, VS, mingw, тот же CubeIDE, для всех комментарий в дух вариантах.

Вы не слышите, что вам выше говорят, дублирую и я: ПРОВЕРЯЙТЕ КЛЮЧИ КОМПИЛЯЦИИ. Наверняка где-то что-то руками наугад потыкали, слетели настройки.

Скидывайте настройки компилятора в дефолт или создайте проект с нуля средствами кейл, куда добавите свои файлы. Понемногу периодически компилируя свое творчество, чтобы было понятно где косяки и как вернуться назад если что.

 

 

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


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

В 20.03.2023 в 01:26, Oleg_IT сказал:

Сейчас в проекте на Keil Cube не использую.

В свойствах проекта есть явная галочка "Strict ANSI C", убрать ее и всё должно быть норм.

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


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

Quote

 Наверняка где-то что-то руками наугад потыкали

Ни чего я не тыкал:) Опции не открывал, всё было по умолчанию, 1.png это создал Keil, 2.png это по кнопки Defaults.

Разобрался, теперь учитывать буду.

1.png

2.png

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


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

9 minutes ago, Arlleex said:

C90

Скоро прибежит, что у него в плюсах не все компилится и код дюжа тормозной ))

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


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

Дефолтный компилятор, разве что, у меня вызывает желание поменять на какой-то из V6.x.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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