Jump to content
    

Перешёл с 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 >>> -----------------
^

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

13 minutes ago, Oleg_IT said:

Ситуация не изменилась.

Походу рано ушли с куба ))

Share this post


Link to post
Share on other sites

1 hour ago, Oleg_IT said:

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

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

 

Share this post


Link to post
Share on other sites

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 "пользует" строки комментариев для своих целей и ограничивает в этом пользователя.

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

43 minutes ago, Oleg_IT said:

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

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

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

 

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Quote

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

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

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

1.png

2.png

Share this post


Link to post
Share on other sites

9 minutes ago, Arlleex said:

C90

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...