Использование библиотек в A... IDE

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Сергей_А_М
Родился
Сообщения: 7
Зарегистрирован: Пн фев 02, 2026 11:44:24

Использование библиотек в A... IDE

Сообщение Сергей_А_М »

Уважаемые товарищи, сколько-то лет назад я пытался создавать проекты в среде Atmel Studio IDE. Там файл XXX.h подключался через директиву препроцессора #include, а файл ХХХ.cpp добавлялся через манипуляцию Add. Объяснялось это так: когда в тексте программы встречается прототип функции из файла XXX.h, из файла XXX.cpp берется соответствующая часть кода и вставляется в текст программы. В текстах, посвещенных ардуино, файл XXX.cpp не упоминается,хотя в библиотеках он присутствует.
Что бы это значило?
OKF
Это не хвост, это антенна
Сообщения: 1379
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Использование библиотек в A... IDE

Сообщение OKF »

Это значит что ты не понимаешь азов и не умеешь пользоваться поиском.
https://microsin.net/programming/avr/ar ... ocess.html
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Использование библиотек в A... IDE

Сообщение BOB51 »

Рекомендую почитать:
https://alexgyver.ru/lessons/
и
https://alexgyver.ru/arduino-first/
8)
Rapra
Грызет канифоль
Сообщения: 259
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Использование библиотек в A... IDE

Сообщение Rapra »

Поскольку Ардуина использует С++ язык, то если придерживаться классовой идеологии, то файл *.cpp в принципе то и не обязателен. C++ допускает написание исходных текстов прямо в файле *.h.

Код: Выделить всё

file myClass.h

class myClass {
public:
   static void Foo1() 
   {
      /* текст .... */
   }

   sratic void Foo2()
   {
      /* текст .... */
   }
Вынос методов из класса в отдельный файл *.cpp допускается, но необязателен.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Использование библиотек в A... IDE

Сообщение BOB51 »

Вообще то там для АВРок GCC... Тот же, что и в АВР студии, но с дополнительным расширением С++. Как там все взаимодействует - удел разборок специалистов по компиляторам и устройству IDE, а не пользователя для которого существуют "рамки "референса"" и общие правила написания проектов под Си / С++.
А вот для других семейств МК может и чего другого подключаться, причем не в "явном виде".
Так что лучше начинающим и просто пользователям с вариантами изврата при написании не экспериментировать без глубококопания в устройстве той ардуино IDE.
Особо для 2.3.х с новыми платформами.
8)
По самому исходному вопросу от Сергей_А_М...
Из личного опыта - никто ж не запрещает файлы *.c просто переименовать в *.cpp
:wink:
Rapra
Грызет канифоль
Сообщения: 259
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Использование библиотек в A... IDE

Сообщение Rapra »

Поскольку в ардуино-среде стоит компилятор языка С++, то он может использовать все базовые возможности языка C++. В базовые возможности входит поддержка классов м методов, а значит, в полной мере может использоваться. Классы в С++ появились в самую первую очередь. Даже как бы наоборот, прародителем С++ был вариант языка Си - "Си с классами"., и дальше уже пошло отаетвление
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Использование библиотек в A... IDE

Сообщение BOB51 »

Может использоваться, а может и не использоваться - тот, кто пишет программу под ардуино IDE сам определяет что и как в ней будет использовать.
Практически пока в большинстве случаев внимание уделяется именно платформам на АВРках, второе место - платформы на STM и RP2040 разделили с платформами на ESP8266/ESP32.
Но тут, на радиокоте, с ардуиной и ее "С++" особенностями похоже я первый возню затеял как с действительно достойной средой для практической работы (и то "в процессе учебной работы и обсуждений" и только для платформ с АВР МК :twisted: ). Пока что большая часть матерых котяр считает данную IDE "недостойным школярством" (порой таки заслуженно из за весьма большого круга простых плагиаторов, вызванного простотой входа/освоения с минимальным уровнем квалификации).
Из реальных работ по популяризации на уровне простого/продвинутого пользователя (и к сожалению только с упором на AVRки да чуток "зацепа" ESP) пока что можно отметить лишь
https://alexgyver.ru/lessons/
да энное количество литературы из тырнет ресурсов...
В отличии от GCC для АВРок из АВРстудии - там хоть у ARV публикации были...
8)
Ответить

Вернуться в «Arduino»