Как поместить в скетч фрагмиент кода из файла?
- Войдите на сайт для отправки комментариев
Ср, 21/09/2016 - 18:41
Возникла идея разместить фрагмент кода программы в отдельном файле. Фрагмент не является функционально законченным программным блоком.
Если помещаю его в файл с расширением *.c, IDE пытается его откомпилировать независимо от других, что, естественно, приводит к неудаче.
Если расширение файла *.frm, IDE его не видит и с негодованием сообщает, что такого файла в природе не существует.
Как добиться желаемого?
А что #include "path\file.ext" не работает? Именно в том месте программы где надо вставить файл. У меня работает.
Расширение .h
Совсем не обязательно. Расширение может быть любым. Вставляется файл так, как будто всё что в файле есть = написано в том файле в который вставляют. Поэтому можно вставлять даже без расширения. Обычно в начале си файлов идут включения .h файлов. Но это не значит, что .h это обязательное расширение. Директива #include может быть использована в любой части файла. Даже самой последней.
Да никто и не говорит, что обязательно. Просто так "принято". Все редакторы это понимают. Кликнешь, какя-нибудь вижуал-студия откроет, синтаксис подсветит - просто удобно.
А насчёт "должно быть любым" Вы погорячились. C и CPP IDE вставляет в make как самостоятельные файлы не спрашивая Вас хотите Вы этого или нет. Так что уже не любым.
Расширение .h
Да никто и не говорит, что обязательно. Просто так "принято". Все редакторы это понимают. Кликнешь, какя-нибудь вижуал-студия откроет, синтаксис подсветит - просто удобно.
А насчёт "должно быть любым" Вы погорячились. C и CPP IDE вставляет в make как самостоятельные файлы не спрашивая Вас хотите Вы этого или нет. Так что уже не любым.
Простите, а гда я использовал безусловную форму "должен"? Ещё раз. #incude вставляет в файл текст (или не текст, но тогда проблемы:-) любобо файла. К make это не имеет никакого отношения. А вставляют только те файлы,которые вы включили в проект. Приведите пример, где без вашего спроса что вставлено.
Это описка, простите. У Вас "может быть любым", но Вы погорячились - на самом деле в Ардуино IDE не может. С и CPP автоматом вставляются в make и если они не могут быть откомпилированы как самостоятельные файлы - возникнет ошибка. Вот и всё, что я хотел уточнить.
Поясните, что не будет откомпилировано?
Почему у меня кусок
Вы читать умеете? Нельзя делать .c и .cpp потому. что ide их вставляет в make.
Если Вы этого не знали, то (предваряя Ваш новый вопрос) уточню ещё. Речь идет о файлах .c и .cpp расположенных в том же фолдере, что и скетч. Как только IDE в этом фолдере что-то (.c и .cpp) видит - онда добавляет это в make. Попробуйте.
Ну тогда сдаюсь. Я отвечал на вопрос топик стартера - как вставить фрагмент текста из отдельного файла. Привел пример что это работает. Читать я умею :-) Я хотел услышать, что .с и .срр должны лежать в той же папке. Если вы положите их отдельно и сделаете #include c полным путём, то никаких проблем не будет. Всё вcтавится и откомпилируется. Так что и Вы не правы - можно,но лежать они должны отдельно. Например в папке COMMON.
Это да. А вот за то, что они разработчики IDE не позволяют мне самому делать проект (make) а пихают туда всё, что ни попадя, я бы этим ... нехорошим людям руки поотрывал бы, козлам.
Да ладно. Я давно с этим смирился. И чисто из вредности все проекты делаю с пустым SETUP и while(1) {} в LOOP.